public static void Initialize(IVisualStudioWriter visualStudioWriter, IServiceProvider serviceProvider) { if (_isInitialized) return; lock (_lock) { if (_isInitialized) return; //http://stackoverflow.com/questions/650694/changing-the-log-level-programmaticaly-in-log4net var outputWindowAppender = new VisualStudioOutputWindowAppender(visualStudioWriter) { Layout = new PatternLayout(@"%date{HH:mm:ss,fff} %thread% %-5level [%logger{2}] %message%newline"), Threshold = #if DEBUG Level.Debug #else Level.Info #endif }; outputWindowAppender.AddFilter( new LevelAndLoggerFilter { LevelMax = Level.Fatal, LevelMin = Level.Warn, LoggerToMatch = typeof(IPipelineStep<>).Namespace }); var activityLogAppender = new VisualStudioActivityLogAppender(serviceProvider) { Layout = new PatternLayout(@"%date{HH:mm:ss,fff} %thread% %-5level [%logger{2}] %message%newline"), Threshold = Level.Info }; #if DEBUG var debugFileAppender = new RollingFileAppender { AppendToFile = true, Threshold = Level.All, Layout = new PatternLayout(@"%date{HH:mm:ss,fff} %thread% %-5level [%logger{2}] %message%newline"), File = @"c:\temp\pMixinsCodeGenerator.log", DatePattern = "yyyyMMdd'.log'", RollingStyle = RollingFileAppender.RollingMode.Date }; #endif log4net.Config.BasicConfigurator.Configure( outputWindowAppender, #if DEBUG debugFileAppender, #endif activityLogAppender); _isInitialized = true; } } #endregion Methods }
public static void Initialize(IVisualStudioWriter visualStudioWriter, IServiceProvider serviceProvider) { if (_isInitialized) { return; } lock (_lock) { if (_isInitialized) { return; } //http://stackoverflow.com/questions/650694/changing-the-log-level-programmaticaly-in-log4net var outputWindowAppender = new VisualStudioOutputWindowAppender(visualStudioWriter) { Layout = new PatternLayout(@"%date{HH:mm:ss,fff} %thread% %-5level [%logger{2}] %message%newline"), Threshold = #if DEBUG Level.Debug #else Level.Info #endif }; outputWindowAppender.AddFilter( new LevelAndLoggerFilter { LevelMax = Level.Fatal, LevelMin = Level.Warn, LoggerToMatch = typeof(IPipelineStep <>).Namespace }); var activityLogAppender = new VisualStudioActivityLogAppender(serviceProvider) { Layout = new PatternLayout(@"%date{HH:mm:ss,fff} %thread% %-5level [%logger{2}] %message%newline"), Threshold = Level.Info }; #if DEBUG var debugFileAppender = new RollingFileAppender { AppendToFile = true, Threshold = Level.All, Layout = new PatternLayout(@"%date{HH:mm:ss,fff} %thread% %-5level [%logger{2}] %message%newline"), File = @"c:\temp\pMixinsCodeGenerator.log", DatePattern = "yyyyMMdd'.log'", RollingStyle = RollingFileAppender.RollingMode.Date }; #endif log4net.Config.BasicConfigurator.Configure( outputWindowAppender, #if DEBUG debugFileAppender, #endif activityLogAppender); _isInitialized = true; } }