Example #1
0
        /// <summary>
        /// Setups the logger configuration. Can be used instead of loading log4net.config file
        /// </summary>
        public static void SetupLogger()
        {
            Hierarchy hierarchy = (Hierarchy)LogManager.GetRepository();

            PatternLayout patternLayout = new DynamicPatternLayout();

            patternLayout.ConversionPattern = "%date{dd MMM yyyy HH:mm:ss} [%thread] %level   -   %message %exception %newline";
            patternLayout.ActivateOptions();

            RollingFileAppender roller = new RollingFileAppender
            {
                // appends the log into same file
                AppendToFile       = true,
                File               = @"DeployLogs\\Deploylog.log",
                Layout             = patternLayout,
                MaxSizeRollBackups = 1000,
                RollingStyle       = RollingFileAppender.RollingMode.Date,
                StaticLogFileName  = false
            };

            roller.ActivateOptions();
            hierarchy.Root.AddAppender(roller);

            MemoryAppender memoryAppender = new MemoryAppender();

            memoryAppender.ActivateOptions();

            hierarchy.Root.AddAppender(memoryAppender);

            hierarchy.Root.Level = Level.All;
            hierarchy.Configured = true;
        }
Example #2
0
        public static void Initialize(LoggerConfiguration configuration = null)
        {
            if (configuration == null)
            {
                configuration = new LoggerConfiguration();
            }

            Hierarchy            hierarchy = (Hierarchy)LogManager.GetRepository();
            DynamicPatternLayout pattern   = new DynamicPatternLayout();

            pattern.Header = "%newline" +
                             "%date Application started..." +
                             "%newline";

            if (String.IsNullOrEmpty(configuration.LogPatternLayout))
            {
                pattern.ConversionPattern = "%date %-5level [%logger::%M]: %message%newline";
            }
            //patternLayout.ConversionPattern = "[%level] [%M] [%class]%newline[%date]: %message%newline%exception";
            //patternLayout.ConversionPattern = "%newline[%level] [%M] [%class]%newline[%date]: %message%newline%exception";
            else
            {
                pattern.ConversionPattern = configuration.LogPatternLayout;
            }

            pattern.Footer = "%date Application ended..." +
                             "%newline";

            pattern.ActivateOptions();

            if (configuration.EnableRollingFileAppender)
            {
                RollingFileAppender fileAppender = CreateRollingFileAppender(pattern);
                hierarchy.Root.AddAppender(fileAppender);
            }

            if (configuration.EnableColoredConsoleAppender)
            {
                ColoredConsoleAppender consoleAppender = CreateConsoleAppender(pattern);
                hierarchy.Root.AddAppender(consoleAppender);
            }

            if (configuration.EnableMemoryAppender)
            {
                MemoryAppender memory = new MemoryAppender();
                memory.ActivateOptions();
                hierarchy.Root.AddAppender(memory);
            }

            hierarchy.Configured = true;
#if DEBUG
            hierarchy.Root.Level = Level.Debug;
#else
            hierarchy.Root.Level = Level.Info;
#endif
        }
Example #3
0
        public void ConfigureLayout_WithAttribute_ShouldSetConversionPattern()
        {
            // Arrange
            var attribute = new DynamicPatternLayoutAttribute()
            {
                Pattern = "%test"
            };
            var layout = new DynamicPatternLayout();

            // Act
            sut.ConfigureLayout(layout, attribute);

            // Assert
            Assert.AreEqual(attribute.Pattern, layout.ConversionPattern);
        }