/// <summary> /// Setup the debug log appender and attach it to a logger. /// </summary> /// <param name="logger">The logger you want to attach the event log appender to.</param> private static void SetupDebugLogAppender(log4netLogger logger) { #if DEBUG // Create the debug appender and connect it to our logger. var debugAppender = new DebugAppender(); debugAppender.Layout = FileLogLayout; debugAppender.AddFilter(GetNoAuditFilter()); logger.AddAppender(debugAppender); #endif }
/// <summary> /// Programatically sets up the logger without using an XML configuration file on disk. /// </summary> private static void Configure() { var dirCreated = Filepaths.CreateLogDirectory(); var hierarchy = (Hierarchy)LogManager.GetRepository(); var rollingPatternLayout = new PatternLayout { ConversionPattern = "[%level] %date{G} [%thread] %message%newline%exception" }; rollingPatternLayout.ActivateOptions(); var rollingLevelRangeFilter = new LevelRangeFilter { LevelMin = Level.Info, LevelMax = Level.Fatal }; var rollingFileAppender = new RollingFileAppender { File = ((dirCreated) ? string.Format(@"{0}\sstdebug.log", Filepaths.LogDirectoryName) : "sstdebug.log"), AppendToFile = true, RollingStyle = RollingFileAppender.RollingMode.Size, MaxSizeRollBackups = 3, MaximumFileSize = "4MB", StaticLogFileName = true, Layout = rollingPatternLayout }; rollingFileAppender.AddFilter(rollingLevelRangeFilter); rollingFileAppender.ActivateOptions(); hierarchy.Root.AddAppender(rollingFileAppender); var debugPatternLayout = new PatternLayout { ConversionPattern = "[%level] %date{G} [%thread] (%logger) %message%newline%exception" }; debugPatternLayout.ActivateOptions(); var debugLevelRangeFilter = new LevelRangeFilter { LevelMin = Level.Debug, LevelMax = Level.Debug }; var debugAppender = new DebugAppender { Layout = debugPatternLayout }; debugAppender.AddFilter(debugLevelRangeFilter); debugAppender.ActivateOptions(); hierarchy.Root.AddAppender(debugAppender); hierarchy.Root.Level = Level.Debug; hierarchy.Configured = true; if (!dirCreated) { WriteCritical("Problem creating log directory!", LogClassType, _logPrefix); } }