Пример #1
0
        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));
            }
        }
Пример #2
0
        /// <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);
        }
Пример #3
0
        /// <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);
        }