private static void Main() { var log = new LogSource(); var logger = LogSettings.RegisterDefaultLogger <ColorConsoleLogger>(); logger.LogLevel = LogLevels.Verbose; log.Verbose().WriteLine("This is {0}", LogLevels.Verbose); log.Debug().WriteLine("This is {0}", LogLevels.Debug); log.Info().WriteLine("This is {0}", LogLevels.Info); log.Warn().WriteLine("This is {0}", LogLevels.Warn); log.Error().WriteLine("This is {0}", LogLevels.Error); log.Fatal().WriteLine("This is {0}", LogLevels.Fatal); Console.ReadLine(); }
/// <summary> /// This will assert that the write lines work /// </summary> private static void AssertWriteLines(LogSource logSource) { // Now call all write lines const string message = "Test log line"; const string messageWithArguments = "Test log line with argument {0}"; var exception = new Exception("Test"); logSource.Verbose().WriteLine(message); logSource.Verbose().WriteLine(messageWithArguments, "One"); logSource.Verbose().WriteLine(exception, message); logSource.Verbose().WriteLine(exception, messageWithArguments, "One"); logSource.Debug().WriteLine(message); logSource.Debug().WriteLine(messageWithArguments, "One"); logSource.Debug().WriteLine(exception, message); logSource.Debug().WriteLine(exception, messageWithArguments, "One"); logSource.Info().WriteLine(message); logSource.Info().WriteLine(messageWithArguments, "One"); logSource.Info().WriteLine(exception, message); logSource.Info().WriteLine(exception, messageWithArguments, "One"); logSource.Warn().WriteLine(message); logSource.Warn().WriteLine(messageWithArguments, "One"); logSource.Warn().WriteLine(exception, message); logSource.Warn().WriteLine(exception, messageWithArguments, "One"); logSource.Error().WriteLine(message); logSource.Error().WriteLine(messageWithArguments, "One"); logSource.Error().WriteLine(exception, message); logSource.Error().WriteLine(exception, messageWithArguments, "One"); logSource.Fatal().WriteLine(message); logSource.Fatal().WriteLine(messageWithArguments, "One"); logSource.Fatal().WriteLine(exception, message); logSource.Fatal().WriteLine(exception, messageWithArguments, "One"); }
public void TestLoggerVisibility() { var stringWriterLogger = LogSettings.RegisterDefaultLogger <StringWriterLogger>(); Assert.NotNull(stringWriterLogger); Log.Verbose().WriteLine("This is a test, should NOT be visible"); Log.Debug().WriteLine("This is a test, should NOT be visible"); Log.Info().WriteLine("This is a test"); Log.Warn().WriteLine("This is a test"); Log.Error().WriteLine("This is a test"); Log.Fatal().WriteLine("This is a test"); Log.Error().WriteLine(new Exception(nameof(stringWriterLogger)), "This is a test exception"); Assert.DoesNotContain("should NOT be visible", stringWriterLogger.Output); var lines = stringWriterLogger.Output.Count(x => x.ToString() == Environment.NewLine); // Info + Warn + Error + Fatal = 4 Assert.False(lines == 4); }
/// <summary> /// Append the information to the Dapplo log /// </summary> /// <param name="loggingEvent">LoggingEvent</param> protected override void Append(LoggingEvent loggingEvent) { if (loggingEvent.Level < _minimalLog4NetLevel) { // Ignore log return; } var locationInformation = loggingEvent.LocationInformation; var log = new LogSource(locationInformation.FullInfo); // Map the Log4NET level, including the method and line number, to Dapplo.Log.LogInfo var number = int.Parse(locationInformation.LineNumber); var logInfo = log.Info(number, locationInformation.MethodName); if (LevelIn(loggingEvent.Level, Level.Error)) { logInfo = log.Error(number, locationInformation.MethodName); } if (LevelIn(loggingEvent.Level, Level.Fatal, Level.Critical, Level.Alert, Level.Emergency)) { logInfo = log.Fatal(number, locationInformation.MethodName); } if (LevelIn(loggingEvent.Level, Level.Warn, Level.Severe)) { logInfo = log.Warn(number, locationInformation.MethodName); } if (LevelIn(loggingEvent.Level, Level.Debug)) { logInfo = log.Debug(number, locationInformation.MethodName); } if (LevelIn(loggingEvent.Level, Level.Verbose, Level.Fine, Level.Finer, Level.Finest, Level.Trace)) { logInfo = log.Verbose(number, locationInformation.MethodName); } // Log the actual message, use Log4Net for the rendering logInfo.WriteLine(loggingEvent.RenderedMessage); }