public ActionResult Message( string clientIdentification, ClientLogLevel clientLogLevel, string message, [FromBody] LogMessageActionOptions options) { this.logger.LogTrace("LogController: Message called"); var loglevelToLow = true; if (clientLogLevel <= this.ConvertClientLogLevel(this.appLoggingLevelSwitch.ClientLoggingLevelSwitch.MinimumLevel)) { IList <object> parametersObjectsList = new List <object>(); loglevelToLow = false; var msLogLevel = this.ConvertToLogLevel(clientLogLevel); message = "<{clientIdentification}> " + message; if (options.Error != null) { var stringError = options.Error.ToString(); stringError = stringError.Replace("{", "{{"); stringError = stringError.Replace("}", "}}"); message += string.Format(" ({0})", stringError); } options.Parameters.Insert(0, clientIdentification); foreach (var parameter in options.Parameters) { parametersObjectsList.Add(parameter); } this.clientLogger.Write(this.ConvertLogEventLevel(clientLogLevel), message, parametersObjectsList.ToArray()); } this.logger.LogTrace("LogController: Message finished"); if (loglevelToLow == false) { return(base.NoContent()); } else { var error = new AddLogmessageApiError() { Message = "Level is lower than the minium Level", MinimumLogLevel = this.ConvertClientLogLevel(this.appLoggingLevelSwitch.ClientLoggingLevelSwitch.MinimumLevel) }; return(base.StatusCode(412, error)); } }
/// <summary> /// Konvertiert <see cref="ClientLogLevel" /> zu <see cref="LogEventLevel" /> /// </summary> /// <param name="clientLogLevel">Der Loglevel welche konvertiert werden soll</param> /// <returns>Gibt den <see cref="LogEventLevel" /> zurück</returns> private LogEventLevel ConvertLogEventLevel(ClientLogLevel clientLogLevel) { LogEventLevel result = LogEventLevel.Verbose; switch (clientLogLevel) { case ClientLogLevel.Fatal: result = LogEventLevel.Fatal; break; case ClientLogLevel.Error: result = LogEventLevel.Error; break; case ClientLogLevel.Warning: result = LogEventLevel.Warning; break; case ClientLogLevel.Information: result = LogEventLevel.Information; break; case ClientLogLevel.Debug: result = LogEventLevel.Debug; break; case ClientLogLevel.Verbose: result = LogEventLevel.Verbose; break; default: result = LogEventLevel.Verbose; break; } return(result); }
/// <summary> /// Konvertiert <see cref="LogEventLevel" /> zu <see cref="ClientLogLevel" /> /// </summary> /// <param name="logEventLevel">Der Loglevel welche konvertiert werden soll</param> /// <returns>Gibt den <see cref="LogLevel" /> zurück</returns> private ClientLogLevel ConvertClientLogLevel(LogEventLevel logEventLevel) { ClientLogLevel result = ClientLogLevel.Off; switch (logEventLevel) { case LogEventLevel.Fatal: result = ClientLogLevel.Fatal; break; case LogEventLevel.Error: result = ClientLogLevel.Error; break; case LogEventLevel.Warning: result = ClientLogLevel.Warning; break; case LogEventLevel.Information: result = ClientLogLevel.Information; break; case LogEventLevel.Debug: result = ClientLogLevel.Debug; break; case LogEventLevel.Verbose: result = ClientLogLevel.Verbose; break; default: result = ClientLogLevel.Off; break; } return(result); }