public void should_resolve_appender_from_assembly_qualified_name() { var appenderDef = new AppenderDefinition { Name = "ExtApp1", AppenderTypeName = "ZeroLog.Tests.ExternalAppender.TestAppender, ZeroLog.Tests.ExternalAppender", AppenderJsonConfig = new DefaultAppenderConfig { PrefixPattern = "[%level] @ %time - %logger: " } }; var config = new ZeroLogJsonConfiguration { LogEventBufferSize = 5, LogEventQueueSize = 7, RootLogger = new LoggerDefinition { Level = Level.Info, LogEventPoolExhaustionStrategy = LogEventPoolExhaustionStrategy.DropLogMessage, AppenderReferences = new[] { "ExtApp1" }, }, Appenders = new[] { appenderDef }, }; var configResolver = new HierarchicalResolver(); configResolver.Build(config); var appenders = configResolver.GetAllAppenders().ToList(); Assert.AreEqual(1, appenders.Count); Assert.AreEqual("ZeroLog.Tests.ExternalAppender.TestAppender", ((GuardedAppender)appenders[0]).Appender.GetType().FullName); }
public void SetUp() { _resolver = new HierarchicalResolver(); _config = new ZeroLogConfiguration(); _config.RootLogger = new LoggerDefinition(string.Empty, Level.Info, false, LogEventPoolExhaustionStrategy.Default, "A"); _config.Appenders = new[] { new AppenderDefinition { Name = "A", AppenderTypeName = typeof(TestAppender).FullName }, new AppenderDefinition { Name = "B", AppenderTypeName = typeof(TestAppender).FullName }, new AppenderDefinition { Name = "C", AppenderTypeName = typeof(TestAppender).FullName } }; }
public static ILogManager ConfigureAndWatch(string configFilePath) { var configFileFullPath = Path.GetFullPath(configFilePath); var resolver = new HierarchicalResolver(); var config = ConfigureResolver(configFileFullPath, resolver); var watcher = new FileSystemWatcher { Path = Path.GetDirectoryName(configFileFullPath), NotifyFilter = NotifyFilters.LastWrite, EnableRaisingEvents = true }; watcher.Changed += (sender, args) => { try { if (!string.Equals(args.FullPath, configFileFullPath, StringComparison.InvariantCultureIgnoreCase)) { return; } var newConfig = ReadConfiguration(configFileFullPath); resolver.Build(newConfig); ConfigureGlobal(newConfig); } catch (Exception e) { LogManager.GetLogger(typeof(JsonConfigurator)) .FatalFormat("Updating config failed with: {0}", e.Message); } }; var logManager = LogManager.Initialize(resolver, config.GetInitializationConfig()); ConfigureGlobal(config); return(logManager); }
private static ZeroLogJsonConfiguration ConfigureResolver(string configFileFullPath, HierarchicalResolver resolver) { var config = ReadConfiguration(configFileFullPath); resolver.Build(config); return(config); }