Beispiel #1
0
        public void Log <TState>(Microsoft.Extensions.Logging.LogLevel logLevel, EventId eventId, TState state, Exception exception, Func <TState, Exception, string> formatter)
        {
            string message  = null;
            object eventObj = eventId != default ? new { Id = eventId.Id, Name = eventId.Name } : null;
            object obj;

            if (formatter != null) //object is absent
            {
                message = formatter(state, exception);
                obj     = eventObj == null ? null : new { @event = eventObj };
            }
            else //print object only, without message
            {
                if (eventObj is null)
                {
                    obj = new { @object = state }
                }
                ;
                else
                {
                    obj = new { @object = state, @event = eventObj }
                };
            }

            switch (logLevel)
            {
            case Microsoft.Extensions.Logging.LogLevel.Critical:
                Log(LogLevel.FATAL, message, obj, exception);
                break;

            case Microsoft.Extensions.Logging.LogLevel.Debug:
                Log(LogLevel.DEBUG, message, obj, exception);
                break;

            case Microsoft.Extensions.Logging.LogLevel.Trace:
                Log(LogLevel.TRACE, message, obj, exception);
                break;

            case Microsoft.Extensions.Logging.LogLevel.Error:
                Log(LogLevel.ERROR, message, obj, exception);
                break;

            case Microsoft.Extensions.Logging.LogLevel.Information:
                Log(LogLevel.INFO, message, obj, exception);
                break;

            case Microsoft.Extensions.Logging.LogLevel.Warning:
                Log(LogLevel.WARNING, message, obj, exception);
                break;

            case Microsoft.Extensions.Logging.LogLevel.None:
                break;

            default:
                Log(LogLevel.INFO, message, state, exception);
                Log(LogLevel.WARNING, $"(Encountered unknown logLevel = {logLevel}, writing out as Info)");
                break;
            }
        }
Beispiel #2
0
 public bool IsEnabled(Microsoft.Extensions.Logging.LogLevel logLevel)
 {
     return(true);
 }