public void ConsoleLogger_ReloadSettings_CanReloadMultipleTimes() { // Arrange var settings = new MockConsoleLoggerSettings() { Cancel = new CancellationTokenSource(), Switches = { ["Test"] = LogLevel.Information, } }; var loggerFactory = new LoggerFactory(); loggerFactory.AddConsoleAdvanced(settings); var logger = loggerFactory.CreateLogger("Test"); Assert.False(logger.IsEnabled(LogLevel.Trace)); // Act & Assert for (var i = 0; i < 10; i++) { settings.Switches["Test"] = i % 2 == 0 ? LogLevel.Information : LogLevel.Trace; var cancellationTokenSource = settings.Cancel; settings.Cancel = new CancellationTokenSource(); cancellationTokenSource.Cancel(); Assert.Equal(i % 2 == 1, logger.IsEnabled(LogLevel.Trace)); } }
public void ConsoleLogger_ReloadSettings_CanChangeLogLevel() { // Arrange var settings = new MockConsoleLoggerSettings() { Cancel = new CancellationTokenSource(), Switches = { ["Test"] = LogLevel.Information, } }; var loggerFactory = new LoggerFactory(); loggerFactory.AddConsoleAdvanced(settings); var logger = loggerFactory.CreateLogger("Test"); Assert.False(logger.IsEnabled(LogLevel.Trace)); settings.Switches["Test"] = LogLevel.Trace; var cancellationTokenSource = settings.Cancel; settings.Cancel = new CancellationTokenSource(); // Act cancellationTokenSource.Cancel(); // Assert Assert.True(logger.IsEnabled(LogLevel.Trace)); }