/// <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
        }
Esempio n. 2
0
        /// <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);
            }
        }