Exemplo n.º 1
0
        public bool IsEnabled(Microsoft.Extensions.Logging.LogLevel logLevel) => true; // Verbosity is handled by the inner logger

        /// <inheritdoc />
        public void Log <TState>(Microsoft.Extensions.Logging.LogLevel logLevel, EventId eventId, TState state, Exception exception, Func <TState, Exception, string> formatter)
        {
            BuildXL.Ipc.Interfaces.LogLevel innerLoggerLevel = BuildXL.Ipc.Interfaces.LogLevel.Verbose;
            switch (logLevel)
            {
            case Microsoft.Extensions.Logging.LogLevel.Information:
                innerLoggerLevel = BuildXL.Ipc.Interfaces.LogLevel.Info;
                break;

            case Microsoft.Extensions.Logging.LogLevel.Warning:
                innerLoggerLevel = BuildXL.Ipc.Interfaces.LogLevel.Warning;
                break;

            case Microsoft.Extensions.Logging.LogLevel.Error:
            case Microsoft.Extensions.Logging.LogLevel.Critical:
                innerLoggerLevel = BuildXL.Ipc.Interfaces.LogLevel.Error;
                break;

            case Microsoft.Extensions.Logging.LogLevel.None:
            case Microsoft.Extensions.Logging.LogLevel.Trace:
            case Microsoft.Extensions.Logging.LogLevel.Debug:
                // Do not log
                return;
            }

            m_innerLogger.Log(innerLoggerLevel, $"[SBOM API] {formatter(state, exception)}");
        }
Exemplo n.º 2
0
 /// <nodoc />
 public static void Warning(this IIpcLogger logger, string format, params object[] args) => logger?.Log(LogLevel.Warning, format, args);
Exemplo n.º 3
0
 /// <nodoc />
 public static void Error(this IIpcLogger logger, string format, params object[] args) => logger?.Log(LogLevel.Error, format, args);
Exemplo n.º 4
0
 /// <nodoc />
 public static void Verbose(this IIpcLogger logger, string format, params object[] args) => logger?.Log(LogLevel.Verbose, format, args);