Пример #1
0
 public bool IsEnabled(LogLevel logLevel)
 {
     if (ChainedLogger != null)
     {
         return(ChainedLogger.IsEnabled(logLevel));
     }
     return(true);
 }
Пример #2
0
 public IDisposable BeginScope <TState>(TState state)
 {
     if (ChainedLogger != null)
     {
         return(ChainedLogger.BeginScope <TState>(state));
     }
     else
     {
         return new AggregatedStringLoggerScope <TState>()
                {
                    State = state
                }
     };
 }
Пример #3
0
 public void Log <TState>(LogLevel logLevel, EventId eventId, TState state, Exception exception, Func <TState, Exception, string> formatter)
 {
     LogString +=
         $"[{(DateTime.Now - AttemptStarted).TotalSeconds.ToString("00000.000")}]" +
         $"[{logLevel}] " +
         formatter(state, exception) +
         Environment.NewLine;
     if (exception != null)
     {
         var exceptionString = exception.ToString() + Environment.NewLine;
         exceptionString = Regex.Replace(exceptionString, "Bearer [A-Za-z0-9\\-\\._~\\+\\/]+=*", "<<REDACTED BEARER TOKEN>>");
         LogString      += exceptionString;
     }
     if (ChainedLogger != null)
     {
         ChainedLogger.Log <TState>(logLevel, eventId, state, exception, formatter);
     }
     AttemptFinished = DateTimeOffset.UtcNow;
 }
Пример #4
0
        public void should_call_each_logger_in_chain()
        {
            var logger = Mock.Create <ILogger>();

            Mock
            .Arrange(() => logger.Info(Arg.IsAny <string>()))
            .OccursOnce();

            var logger2 = Mock.Create <ILogger>();

            Mock
            .Arrange(() => logger2.Info(Arg.IsAny <string>()))
            .OccursOnce();

            var chain = new ChainedLogger(new ILogger[] { logger, logger2 });

            chain.Info("My log message");

            Mock.AssertAll(logger);
            Mock.AssertAll(logger2);
        }