Esempio n. 1
0
        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;
            }
        }