public void create_logger_with_existing_loggers_returns_the_expected_logger() { // Arrange var provider = new Log4NetProvider(); provider.CreateLogger("TestLogger1"); provider.CreateLogger("TestLogger2"); // Act var logger = provider.CreateLogger("TestLogger3"); // Assert (logger as Log4NetLogger).LoggerName.Should().Be("TestLogger3"); }
public void provider_clears_loggers_when_disposed() { // Arrange var provider = new Log4NetProvider(); provider.CreateLogger("TestLogger"); provider.CreateLogger("TestLogger1"); // Act provider.Dispose(); // Assert provider.Loggers.Count.Should().Be(0); }
public BambooLogger(string categoryName = "BambooLogger") { //创建默认执行器 var provider = new Log4NetProvider(DefaultLog4NetConfigFileName); _logger = provider.CreateLogger(categoryName); }
public void Ctor_When_FilenameArgument_Should_CreateInstance_That_AllowCreateLogger() { var sut = new Log4NetProvider(Context.GetLog4netFilePath(Models.Log4NetFileOption.All)); var logger = sut.CreateLogger(); logger.Should().BeOfType(typeof(Log4NetLogger)); }
public void Ctor_Should_CreateInstance_That_AllowCreateLogger() { var sut = new Log4NetProvider(); var logger = sut.CreateLogger(); logger.Should().BeOfType(typeof(Log4NetLogger)); }
public void CreateLoggerWithTypeName() { var provider = new Log4NetProvider(); var logger = provider.CreateLogger <Log4NetProviderExtensionsShould>() as Log4NetLogger; Assert.IsNotNull(logger); Assert.AreEqual(typeof(Log4NetProviderExtensionsShould).FullName, logger.Name); }
public void CreateDefaultLoggerWithoutTypeName() { var provider = new Log4NetProvider(); var logger = provider.CreateLogger() as Log4NetLogger; Assert.IsNotNull(logger); Assert.AreEqual(string.Empty, logger.Name); }
public void TestMethod1() { var provider = new Log4NetProvider("log4net.config"); var logger = provider.CreateLogger("Test"); logger.LogCritical("A message"); Assert.Inconclusive(); }
public void LogCriticalMessages() { var provider = new Log4NetProvider(DefaultLog4NetConfigFileName); var logger = provider.CreateLogger(TestLoggerName); logger.LogCritical(MessageText); Assert.AreEqual(1, this.listener.Messages.Count); Assert.IsTrue(this.listener.Messages.Any(x => x.Contains(MessageText))); }
public void create_logger_with_null_or_empty_name_throws_exception(string name) { // Arrange var provider = new Log4NetProvider(); // Act Action act = () => provider.CreateLogger(null); // Assert act.ShouldThrow <ArgumentNullException>().WithMessage("Value cannot be null.\r\nParameter name: name"); }
public void create_logger_returns_the_expected_type() { // Arrange var provider = new Log4NetProvider(); // Act var logger = provider.CreateLogger("TestLogger"); // Assert logger.Should().BeOfType <Log4NetLogger>(); }
public void create_logger_adding_two_loggers_with_the_same_name_at_the_same_time_only_has_one_logger() { // Arrange var provider = new Log4NetProvider(); // Act var task1 = Task.Factory.StartNew(() => { provider.CreateLogger("TestLogger"); }); var task2 = Task.Factory.StartNew(() => { provider.CreateLogger("TestLogger"); }); Task.WaitAll(task1, task2); // Assert provider.Loggers.Count.Should().Be(1); }
public void LogCriticalMessages() { var provider = new Log4NetProvider("log4net.config"); var logger = provider.CreateLogger("Test"); const string message = "A message"; logger.LogCritical(message); Assert.AreEqual(1, this.listener.Messages.Count); Assert.IsTrue(this.listener.Messages.Any(x => x.Contains(message))); }
public void WhenScopeFactoryIsNullOnProviderOptions_ThenDefaultLog4NetScopeFactoryIsUsed() { var options = new Log4NetProviderOptions { ScopeFactory = null }; var provider = new Log4NetProvider(options); var logger = provider.CreateLogger("test") as Log4NetLogger; Assert.IsNotNull(logger?.Options?.ScopeFactory, "Scope factory on logger's options should not be null."); }
public void ProviderShouldCreateLoggerUsingConfigurationFileRelativePath() { var provider = new Log4NetProvider(Log4NetConfigFileName); var logger = provider.CreateLogger(TestLoggerName); const string message = MessageText; logger.LogCritical(message); Assert.AreEqual(1, this.listener.Messages.Count); Assert.IsTrue(this.listener.Messages.Any(x => x.Contains(message))); }
public void Include_ScopePropertyOnMessages_When_ScopeIsString() { var provider = new Log4NetProvider(DefaultLog4NetConfigFileName); var logger = provider.CreateLogger(TestLoggerName); using (var scope = logger.BeginScope(ScopedValueText)) { logger.LogCritical(MessageText); } Assert.AreEqual(1, this.listener.Messages.Count); Assert.IsTrue(this.listener.Messages.Any(x => x.Contains(MessageText))); Assert.IsTrue(this.listener.Messages.Any(x => x.Contains(ScopedValueText))); }
public void WhenScopeFactoryIsProvidedInProviderOptions_ThenLoggerUsesProvidedScopeFactory() { var expectedFactory = new Log4NetScopeFactory(new Log4NetScopeRegistry()); var options = new Log4NetProviderOptions { ScopeFactory = expectedFactory }; var provider = new Log4NetProvider(options); var logger = provider.CreateLogger("test") as Log4NetLogger; Assert.IsNotNull(logger?.Options?.ScopeFactory, "Scope factory on logger's options should not be null."); Assert.AreSame(expectedFactory, logger.Options.ScopeFactory, "Scope factory on logger does not match factory from provider options."); }
public void ProviderGeneratesLogger() { // Arrange var logMock = new Mock <ILog>(); var containerMock = new Mock <ILog4NetContainer>(); containerMock.Setup(m => m.IsInitialized).Returns(true); containerMock.Setup(m => m.GetLog(It.IsAny <string>())).Returns(logMock.Object); // Act var provider = new Log4NetProvider(containerMock.Object); var logger = provider.CreateLogger("test"); // Assert Assert.NotNull(logger); }
public void ProviderShouldBeCreatedWithConfigurationSectionOverrides() { if (File.Exists("overrided.log")) { File.Delete("overrided.log"); } var configuration = GetNetCoreConfiguration(); var provider = new Log4NetProvider("log4net.config", configuration.GetSection("Logging")); var logger = provider.CreateLogger("test"); logger.LogCritical("Test file creation"); Assert.IsNotNull(provider); Assert.IsTrue(File.Exists("overrided.log")); }
public void ProviderShouldBeCreatedWithoutCoreConfigOverridesIfConfigSectionDoesNotContainData() { if (File.Exists("example.log")) { File.Delete("example.log"); } var configuration = GetNetCoreConfiguration(); var provider = new Log4NetProvider("log4net.config", configuration.GetSection("LoggingEmpty")); var logger = provider.CreateLogger("test"); logger.LogCritical("Test file creation"); Assert.IsNotNull(provider); Assert.IsTrue(File.Exists("example.log")); }
public void UsePatternLayoutOnExceptions() { var provider = new Log4NetProvider("log4net.config"); var logger = provider.CreateLogger("Test"); try { ThrowException(); } catch (Exception ex) { logger.LogCritical(10, ex, "Catched message"); } Assert.Inconclusive(); }
public void WhenScopeFactoryIsNullOnProviderOptions_ThenDefaultLog4NetScopeFactoryIsUsed() { var options = new Log4NetProviderOptions { ScopeFactory = null }; var sut = new Log4NetProvider(options); var logger = sut.CreateLogger("test") as Log4NetLogger; var internalOptions = GetInternalOptions(logger); internalOptions.Should().NotBeNull(); internalOptions.ScopeFactory.Should().NotBeNull("Scope factory on logger's options should not be null."); }
public void WhenLoggingEventFactoryIsNullOnProviderOptions_ThenDefaultLog4NetLoggingEventFactoryIsUsed() { var options = new Log4NetProviderOptions { LoggingEventFactory = null }; var sut = new Log4NetProvider(options); var logger = sut.CreateLogger("test") as Log4NetLogger; var internalOptions = GetInternalOptions(logger); internalOptions.Should().NotBeNull(); internalOptions.LoggingEventFactory.Should().NotBeNull("a default LoggingEventFactory is needed to create LoggingEvents") .And.BeOfType <Log4NetLoggingEventFactory>("because this is the default factory type"); }
public void WhenLogLevelTranslatorIsProvidedInProviderOptions_ThenLoggerUsesProvidedLogLevelTranslator() { var expectedTranslator = new Log4NetLogLevelTranslator(); var options = new Log4NetProviderOptions { LogLevelTranslator = expectedTranslator }; var sut = new Log4NetProvider(options); var logger = sut.CreateLogger("test") as Log4NetLogger; var internalOptions = GetInternalOptions(logger); internalOptions.Should().NotBeNull(); internalOptions.LogLevelTranslator.Should().NotBeNull("a LogLevelTranslator was provided in the options") .And.Be(expectedTranslator, "this LogLevelTranslator was provided in the options"); }
public void Include_ScopePropertyOnMessages_When_ScopeIsDictionaryOfObjects_And_AnyValueIsNull() { var provider = new Log4NetProvider(DefaultLog4NetConfigFileName); var logger = provider.CreateLogger(TestLoggerName); using (var scope = logger.BeginScope(new Dictionary <string, object>() { { ScopedKeyText, null } })) { logger.LogCritical(MessageText); } Assert.AreEqual(1, this.listener.Messages.Count); Assert.IsTrue(this.listener.Messages.Any(x => x.Contains(MessageText))); Assert.IsTrue(this.listener.Messages.Any(x => x.Contains($"(null) (null) MESSAGE: {MessageText}"))); }
public void WhenLoggingEventFactoryIsProvidedInProviderOptions_ThenLoggerUsesProvidedLoggingEventFactory() { var expectedFactory = new Log4NetLoggingEventFactory(); var options = new Log4NetProviderOptions { LoggingEventFactory = expectedFactory }; var sut = new Log4NetProvider(options); var logger = sut.CreateLogger("test") as Log4NetLogger; var internalOptions = GetInternalOptions(logger); internalOptions.Should().NotBeNull(); internalOptions.LoggingEventFactory.Should().NotBeNull("a LoggingEventFactory was provided in the options") .And.Be(expectedFactory, "this LoggingEventFactory was provided in the options"); }
public void UsePatternLayoutOnExceptions() { var provider = new Log4NetProvider("log4net.config"); var logger = provider.CreateLogger("Test"); try { ThrowException(); } catch (Exception ex) { logger.LogCritical(10, ex, "Catched message"); } Assert.AreEqual(1, this.listener.Messages.Count); Assert.IsTrue(this.listener.Messages.Any(x => x.Contains("Catched message"))); }
public void WhenScopeFactoryIsProvidedInProviderOptions_ThenLoggerUsesProvidedScopeFactory() { var expectedFactory = new Log4NetScopeFactory(new Log4NetScopeRegistry()); var options = new Log4NetProviderOptions { ScopeFactory = expectedFactory }; var sut = new Log4NetProvider(options); var logger = sut.CreateLogger("test") as Log4NetLogger; var internalOptions = GetInternalOptions(logger); internalOptions.Should().NotBeNull(); internalOptions.ScopeFactory.Should().NotBeNull("Scope factory on logger's options should not be null.") .And.Be(expectedFactory, "Scope factory on logger does not match factory from provider options."); }
public void Provider_Should_InitializeLogging_When_UsingAppConfigFile() { const string message = MessageText; var options = new Log4NetProviderOptions { UseWebOrAppConfig = true }; using (var provider = new Log4NetProvider(options)) { var logger = provider.CreateLogger(TestLoggerName); logger.LogCritical(message); } Assert.AreEqual(1, listener.Messages.ToList().Count); Assert.IsNotNull(listener.Messages.ToList().FirstOrDefault(x => x.Contains(message)), $"Listener should contain the logged message: {message}"); Assert.IsNotNull(listener.Messages.ToList().FirstOrDefault(x => x.StartsWith($"{TestLoggerName}: APP.CONFIG")), $"Listener should start with AppConfig: {message}"); }
public void ProviderShouldBeCreatedWithOptions() { const string OverridOHLogFilePath = "overridOH.log"; if (File.Exists(OverridOHLogFilePath)) { File.Delete(OverridOHLogFilePath); } var options = GetLog4NetProviderOptions(); var provider = new Log4NetProvider(options); var logger = provider.CreateLogger(); logger.LogCritical(MessageText); Assert.IsNotNull(provider); Assert.IsTrue(File.Exists(OverridOHLogFilePath)); }