Esempio n. 1
1
        /// <summary>
        /// Configure Log4Net
        /// </summary>
        public void Log4NetConfig(bool isConsoleEnabled, string traceFilePath)
        {
            if (isConsoleEnabled)
            {
                // Add console output
                log4net.Appender.ConsoleAppender ca = new log4net.Appender.ConsoleAppender();
                ca.Layout = new log4net.Layout.PatternLayout("%-5level %message%newline");
                ca.Threshold = log4net.Core.Level.All;
                log4net.Config.BasicConfigurator.Configure(ca);
                ca.ActivateOptions();
            }

            if (traceFilePath != "")
            {
                // Add file output
                log4net.Appender.RollingFileAppender rfa = new log4net.Appender.RollingFileAppender();
                rfa.AppendToFile = true;
                rfa.File = traceFilePath;
                rfa.MaxFileSize = 4096000;
                rfa.MaxSizeRollBackups = 2;
                rfa.Threshold = log4net.Core.Level.All;
                rfa.Layout = new log4net.Layout.PatternLayout("%-5level %date{HH:mm:ss,fff} " +
                                                              "[%thread] %logger (%file:%line) " +
                                                              "%newline%message%newline%newline");
                log4net.Config.BasicConfigurator.Configure(rfa);
                rfa.ActivateOptions();
            }

            // Set Root level
            log4net.Repository.Hierarchy.Hierarchy h =
                (log4net.Repository.Hierarchy.Hierarchy)log4net.LogManager.GetRepository ();
              		log4net.Repository.Hierarchy.Logger rootLogger = h.Root;
            rootLogger.Level = log4net.Core.Level.All;
        }
Esempio n. 2
0
        private static void EnableConsoleDebugLog()
        {
            log4net.Appender.IAppender appender;
            var consoleAppender = new log4net.Appender.ColoredConsoleAppender
                {
                    Layout = new SimpleLayout(),
                    Threshold = Level.All
                };
            try
            {
                consoleAppender.ActivateOptions();
                appender = consoleAppender;
            }
            catch (EntryPointNotFoundException)
            {
                var fallbackAppender = new log4net.Appender.ConsoleAppender
                {
                    Layout = new SimpleLayout(),
                    Threshold = Level.All
                };

                fallbackAppender.ActivateOptions();
                appender = fallbackAppender;
            }

            var repo = (Hierarchy)log4net.LogManager.GetRepository();
            var root = repo.Root;
            root.AddAppender(appender);

            repo.Configured = true;

            log.Info("Verbose logging to console enabled.");
        }
Esempio n. 3
0
        private static void EnableConsoleDebugLog()
        {
            log4net.Appender.IAppender appender;
            var consoleAppender = new log4net.Appender.ColoredConsoleAppender
            {
                Layout    = new SimpleLayout(),
                Threshold = Level.All
            };

            try
            {
                consoleAppender.ActivateOptions();
                appender = consoleAppender;
            }
            catch (EntryPointNotFoundException)
            {
                var fallbackAppender = new log4net.Appender.ConsoleAppender
                {
                    Layout    = new SimpleLayout(),
                    Threshold = Level.All
                };

                fallbackAppender.ActivateOptions();
                appender = fallbackAppender;
            }

            var repo = (Hierarchy)log4net.LogManager.GetRepository();
            var root = repo.Root;

            root.AddAppender(appender);

            repo.Configured = true;

            log.Info("Verbose logging to console enabled.");
        }
Esempio n. 4
0
 static Log()
 {
     NativeMethods.AllocConsole();
     log4net.Layout.PatternLayout     pl = new log4net.Layout.PatternLayout("[MySite] %level %date{HH:mm:ss,fff} - %message%n");
     log4net.Appender.ConsoleAppender ca = new log4net.Appender.ConsoleAppender();
     ca.Layout = pl;
     ca.Target = "Console.Out";
     ca.ActivateOptions();
     log4net.Config.BasicConfigurator.Configure(ca);
     log = LogManager.GetLogger("Debug");
 }
Esempio n. 5
0
        static void SetupConsoleLogging()
        {
            var rootLogger      = ((log4net.Repository.Hierarchy.Hierarchy)log4net.LogManager.GetRepository()).Root;
            var consoleAppender = new log4net.Appender.ConsoleAppender
            {
                Threshold = log4net.Core.Level.Debug,
                Layout    = new log4net.Layout.PatternLayout("%date [%thread] %-5level %logger [%property{NDC}] - %message%newline")
            };

            consoleAppender.ActivateOptions();
            rootLogger.AddAppender(consoleAppender);
        }
Esempio n. 6
0
        private static log4net.Appender.ConsoleAppender GetConsoleAppender(
            log4net.Core.Level consoleLogLevel)
        {
            log4net.Appender.ConsoleAppender appender = new log4net.Appender.ConsoleAppender();
            appender.Name   = "Console";
            appender.Layout = new log4net.Layout.PatternLayout(
                "%d{yyyy-MM-dd HH:mm:ss} [%t] %-5p %c - %m%n");
            appender.Threshold = consoleLogLevel;
            appender.ActivateOptions();

            return(appender);
        }
Esempio n. 7
0
File: Logger.cs Progetto: zjbsean/TM
        /// <summary>
        /// 初始化日志
        /// </summary>
        /// <param name="file">日志文件</param>
        /// <param name="datePattern">日期格式</param>
        /// <param name="fileLevelStr">文件日志等级,有debug、info、warn、error和fatal</param>
        /// <param name="consoleLevelStr">Console日志等级</param>
        /// <returns>返回是否成功</returns>
        public bool Initialize(string file, string datePattern, string fileLevelStr, string consoleLevelStr)
        {
            log4net.Core.Level fileLevel    = ConvertLog4NetLevel(fileLevelStr);
            log4net.Core.Level consoleLevel = ConvertLog4NetLevel(consoleLevelStr);

            const string DefaultPattern = "%d [%t]%-5p %c - %m%n";

            try
            {
                log4net.Layout.PatternLayout layout = new log4net.Layout.PatternLayout(DefaultPattern);
                if (file != string.Empty)
                {
                    log4net.Appender.RollingFileAppender rfileAppender = new log4net.Appender.RollingFileAppender();
                    rfileAppender.Layout = layout;
                    rfileAppender.File   = file;

                    if (datePattern == string.Empty)
                    {
                        rfileAppender.DatePattern = "yyyyMMdd-HH";
                    }
                    else
                    {
                        rfileAppender.DatePattern = datePattern;
                    }
                    rfileAppender.RollingStyle = log4net.Appender.RollingFileAppender.RollingMode.Date; //.Composite;
                    rfileAppender.Threshold    = fileLevel;
                    rfileAppender.ActivateOptions();
                    log4net.Config.BasicConfigurator.Configure(rfileAppender);
                }

                log4net.Appender.ConsoleAppender consoleAppender = new log4net.Appender.ConsoleAppender(layout);
                consoleAppender.Threshold = consoleLevel;
                consoleAppender.ActivateOptions();
                log4net.Config.BasicConfigurator.Configure(consoleAppender);
                return(true);
            }
            catch (Exception err)
            {
                Console.WriteLine("Error:{0} StackTrace:{1}", err.Message, err.StackTrace);
                try
                {
                    HTEventLog.InitFileLog(@"ServerEvents.log");
                    HTEventLog.SaveLog(HTEventLog.LogTypeEnum.错误, string.Format("Error : {0}\r\nStackTrace : \r\n{1}", err.Message, err.StackTrace), System.Windows.Forms.Application.ProductName);
                }
                catch
                {
                }
                return(false);
            }
        }
Esempio n. 8
0
 public static void AddLogToConsole(bool basicConfig)
 {
     AllocConsole();
     var appender = new log4net.Appender.ConsoleAppender();
     var layout = new log4net.Layout.PatternLayout
     {
         ConversionPattern = DefaultConversionPatern,
         Header = "Time;Level;Description;"
     };
     layout.ActivateOptions();
     appender.Layout = layout;
     appender.ActivateOptions();
     if (basicConfig)
         log4net.Config.BasicConfigurator.Configure(appender);
     else
         ((log4net.Repository.Hierarchy.Hierarchy)LogManager.GetRepository()).Root.AddAppender(appender);
 }
Esempio n. 9
0
        /// <summary>
        /// Configure log4net object
        /// </summary>
        private static void ConfigLog4Net()
        {
            // set log filename
            string logfilename = Environment.GetFolderPath(System.Environment.SpecialFolder.Personal);

            logfilename += System.IO.Path.DirectorySeparatorChar;
            logfilename += System.Reflection.Assembly.GetExecutingAssembly().GetName().Name + ".log";

            LogFilePath = logfilename;

            // attach to repository hierarchy
            log4net.Repository.Hierarchy.Hierarchy repository = LogManager.GetRepository() as log4net.Repository.Hierarchy.Hierarchy;

            // check for logging into file
            if (LogToFile)
            {
                // add log file appender
                log4net.Appender.RollingFileAppender fileappender = new log4net.Appender.RollingFileAppender();
                fileappender.Layout             = new log4net.Layout.PatternLayout("%-5level %date{yyyy-MM-dd HH:mm:ss,fff} [%thread] %message (%file:%line)%newline");
                fileappender.File               = logfilename;
                fileappender.MaxSizeRollBackups = 10;
                fileappender.MaximumFileSize    = "10MB";
                fileappender.AppendToFile       = true;
                fileappender.ActivateOptions();
                repository.Root.AddAppender(fileappender);
            }

            // check for logging into console
            if (LogToConsole)
            {
                // add console appender
                log4net.Appender.ConsoleAppender consoleappender = new log4net.Appender.ConsoleAppender();
                consoleappender.Layout = new log4net.Layout.PatternLayout("%-5level %date{HH:mm:ss} %message%newline");
                consoleappender.ActivateOptions();
                repository.Root.AddAppender(consoleappender);
            }

            // set to log all events
            repository.Root.Level = log4net.Core.Level.All;
            repository.Configured = true;
            repository.RaiseConfigurationChanged(EventArgs.Empty);
        }
Esempio n. 10
0
        public static void AddLogToConsole(bool basicConfig)
        {
            AllocConsole();
            var appender = new log4net.Appender.ConsoleAppender();
            var layout   = new log4net.Layout.PatternLayout
            {
                ConversionPattern = DefaultConversionPatern,
                Header            = "Time;Level;Description;"
            };

            layout.ActivateOptions();
            appender.Layout = layout;
            appender.ActivateOptions();
            if (basicConfig)
            {
                log4net.Config.BasicConfigurator.Configure(appender);
            }
            else
            {
                ((log4net.Repository.Hierarchy.Hierarchy)LogManager.GetRepository()).Root.AddAppender(appender);
            }
        }
Esempio n. 11
0
        public override void Configure(string key, ILoggerRepository repository)
        {
            foreach (var level in Levels)
            {
                var appender = new log4net.Appender.ConsoleAppender();

                var layout = new PatternLayout(Pattern);
                layout.ActivateOptions();

                appender.Layout = layout;
                appender.Name   = key + "_" + level.ToString().ToLower();

                var filter = new LevelRangeFilter();
                filter.LevelMax = level;
                filter.LevelMin = level;
                filter.ActivateOptions();
                appender.AddFilter(filter);

                appender.ActivateOptions();

                BasicConfigurator.Configure(repository, appender);
            }
        }
Esempio n. 12
0
        private static void SetUpConsoleLogger()
        {
            string consolePattern = "%message%newline";

            log4net.Layout.PatternLayout layout = new log4net.Layout.PatternLayout(consolePattern);
            layout.Header = "";
            layout.Footer = "";
            layout.ActivateOptions();

            log4net.Appender.ConsoleAppender consoleAppender = new log4net.Appender.ConsoleAppender();
            //consoleAppender.ErrorHandler = new LoggingErrorHandler();
            consoleAppender.Name      = "Console appender";
            consoleAppender.Threshold = log4net.Core.Level.Warn;
            consoleAppender.Layout    = layout;
            consoleAppender.Target    = "Console.Out";

            consoleAppender.ActivateOptions();

            // A slight bit of hackery in order to programatically set more than one appender (which isn't supported by BasicConfigurator)
            log4net.Repository.Hierarchy.Logger root = ((log4net.Repository.Hierarchy.Hierarchy)log4net.LogManager.GetRepository()).Root;
            root.AddAppender(consoleAppender);
            root.Repository.Configured = true;
        }
Esempio n. 13
0
        // Constructors
        public Log4netLoggerFactory(string configFilename = null)
        {
            // Setting
            log4net.MDC.Set("tab", "\t");

            // ConfigFileList
            List <FileInfo> configFileList = new List <FileInfo>();

            if (string.IsNullOrEmpty(configFilename) == false)
            {
                // GetAll
                configFileList = FileHelper.GetAllFile(configFilename);
                if (configFileList == null)
                {
                    throw new InvalidOperationException("configFileList=null");
                }
            }

            // Configure
            if (configFileList.Count > 0)
            {
                // Repository
                var repository = LogManager.GetRepository(System.Reflection.Assembly.GetEntryAssembly());
                if (repository == null)
                {
                    throw new InvalidOperationException("repository=null");
                }

                // XmlConfigurator
                foreach (var configFile in configFileList)
                {
                    XmlConfigurator.Configure(repository, configFile);
                }
            }
            else
            {
                // Repository
                var repository = LogManager.GetRepository(System.Reflection.Assembly.GetEntryAssembly());
                if (repository == null)
                {
                    throw new InvalidOperationException("repository=null");
                }

                // PatternLayout
                var patternLayout = new log4net.Layout.PatternLayout()
                {
                    ConversionPattern = @"%date{yyyy-MM-dd HH:mm:ss fff} %-5level [%thread] %logger.%property{method}() - %message%newline"
                };
                patternLayout.ActivateOptions();

                // ConsoleAppender
                var consoleAppender = new log4net.Appender.ConsoleAppender()
                {
                    Layout = patternLayout
                };
                consoleAppender.ActivateOptions();

                // FileAppender
                var fileAppender = new log4net.Appender.RollingFileAppender()
                {
                    Layout            = patternLayout,
                    RollingStyle      = RollingMode.Date,
                    File              = string.Format("log/{0}", System.Reflection.Assembly.GetEntryAssembly().GetName().Name),
                    DatePattern       = " yyyy-MM-dd'.log'",
                    StaticLogFileName = false,
                    AppendToFile      = true
                };
                fileAppender.ActivateOptions();

                // BasicConfigurator
                BasicConfigurator.Configure(repository,
                                            consoleAppender,
                                            fileAppender
                                            );
            }
        }
Esempio n. 14
0
        private static void SetUpConsoleLogger()
        {
            string consolePattern = "%message%newline";
            log4net.Layout.PatternLayout layout = new log4net.Layout.PatternLayout( consolePattern );
            layout.Header = "";
            layout.Footer = "";
            layout.ActivateOptions();

            log4net.Appender.ConsoleAppender consoleAppender = new log4net.Appender.ConsoleAppender();
            //consoleAppender.ErrorHandler = new LoggingErrorHandler();
            consoleAppender.Name = "Console appender";
            consoleAppender.Threshold = log4net.Core.Level.Warn;
            consoleAppender.Layout = layout;
            consoleAppender.Target = "Console.Out";

            consoleAppender.ActivateOptions();

            // A slight bit of hackery in order to programatically set more than one appender (which isn't supported by BasicConfigurator)
            log4net.Repository.Hierarchy.Logger root = ( (log4net.Repository.Hierarchy.Hierarchy)log4net.LogManager.GetRepository() ).Root;
            root.AddAppender( consoleAppender );
            root.Repository.Configured = true;
        }
Esempio n. 15
0
        /// <summary>
        /// Configure log4net object
        /// </summary>
        private static void ConfigLog4Net()
        {
            // set log filename
            string logfilename = Environment.GetFolderPath(System.Environment.SpecialFolder.Personal);
            logfilename += System.IO.Path.DirectorySeparatorChar;
            logfilename += System.Reflection.Assembly.GetExecutingAssembly().GetName().Name + ".log";

            LogFilePath = logfilename;

            // attach to repository hierarchy
            log4net.Repository.Hierarchy.Hierarchy repository = LogManager.GetRepository() as log4net.Repository.Hierarchy.Hierarchy;

            // check for logging into file
            if (LogToFile)
            {
                // add log file appender
                log4net.Appender.RollingFileAppender fileappender = new log4net.Appender.RollingFileAppender();
                fileappender.Layout = new log4net.Layout.PatternLayout("%-5level %date{yyyy-MM-dd HH:mm:ss,fff} [%thread] %message (%file:%line)%newline");
                fileappender.File = logfilename;
                fileappender.MaxSizeRollBackups = 10;
                fileappender.MaximumFileSize = "10MB";
                fileappender.AppendToFile = true;
                fileappender.ActivateOptions();
                repository.Root.AddAppender(fileappender);
            }

            // check for logging into console
            if (LogToConsole)
            {
                // add console appender
                log4net.Appender.ConsoleAppender consoleappender = new log4net.Appender.ConsoleAppender();
                consoleappender.Layout = new log4net.Layout.PatternLayout("%-5level %date{HH:mm:ss} %message%newline");
                consoleappender.ActivateOptions();
                repository.Root.AddAppender(consoleappender);
            }

            // set to log all events
            repository.Root.Level = log4net.Core.Level.All;
            repository.Configured = true;
            repository.RaiseConfigurationChanged(EventArgs.Empty);
        }
Esempio n. 16
0
        protected override void ProcessRecord()
        {
            //todo set default to scriptname.log
            string test = MyInvocation.ScriptName;

            log4net.ILog       logger      = log4net.LogManager.GetLogger("Powershell");
            System.IO.FileInfo logFileInfo = new System.IO.FileInfo(_logConfigFile);
            log4net.Config.XmlConfigurator.ConfigureAndWatch(logFileInfo);
            WriteObject(logger);

            log4net.Appender.IAppender[] appenders = log4net.LogManager.GetRepository().GetAppenders();
            foreach (log4net.Appender.IAppender logAppender in appenders)
            {
                #region RollingFilleAppender
                if ((logAppender.GetType() == typeof(log4net.Appender.RollingFileAppender)) && logAppender.Name == "OSCCDefaultRollingFileAppender")
                {
                    log4net.Appender.FileAppender fileAppender = (log4net.Appender.RollingFileAppender)logAppender;
                    if (MyInvocation.BoundParameters.ContainsKey("LogFileName"))
                    {
                        log4net.Util.PatternString dynamicFileName         = new log4net.Util.PatternString(LogFileName);
                        log4net.Util.ConverterInfo adminuiLogConverterInfo = new log4net.Util.ConverterInfo();
                        adminuiLogConverterInfo.Name = "adminuilog";
                        adminuiLogConverterInfo.Type = typeof(Log4Net_CMTrace.CMAdminUILogFolderPatternConverter);
                        log4net.Util.ConverterInfo ccmLogConverterInfo = new log4net.Util.ConverterInfo();
                        ccmLogConverterInfo.Name = "ccmlog";
                        ccmLogConverterInfo.Type = typeof(Log4Net_CMTrace.CMClientLogFolderPatternConverter);
                        log4net.Layout.PatternLayout newLayout = new log4net.Layout.PatternLayout();
                        dynamicFileName.AddConverter(adminuiLogConverterInfo);
                        dynamicFileName.AddConverter(ccmLogConverterInfo);
                        dynamicFileName.ActivateOptions();
                        //fileAppender.File = LogFileName;
                        fileAppender.File = dynamicFileName.Format();
                    }
                    else
                    {
                        if (MyInvocation.ScriptName != "")
                        {
                            fileAppender.File = MyInvocation.ScriptName + ".log";
                        }
                    }
                    if (MyInvocation.BoundParameters.ContainsKey("FileLogLevel"))
                    {
                        switch (FileLogLevel.ToLower())
                        {
                        case "off": fileAppender.Threshold = log4net.Core.Level.Off; break;

                        case "info": fileAppender.Threshold = log4net.Core.Level.Info; break;

                        case "warn": fileAppender.Threshold = log4net.Core.Level.Warn; break;

                        case "error": fileAppender.Threshold = log4net.Core.Level.Error; break;

                        case "debug": fileAppender.Threshold = log4net.Core.Level.Debug; break;

                        default: fileAppender.Threshold = log4net.Core.Level.Info; break;
                        }
                    }
                    else
                    {
                        fileAppender.Threshold = log4net.Core.Level.Info;
                    }
                    fileAppender.ActivateOptions();
                }
                #endregion

                #region OMSFilleAppender
                if ((logAppender.GetType() == typeof(log4net.Appender.FileAppender)) && logAppender.Name == "OSCCOMSFileAppender")
                {
                    log4net.Appender.FileAppender fileAppender = (log4net.Appender.FileAppender)logAppender;
                    if (MyInvocation.BoundParameters.ContainsKey("OMSLogFileName"))
                    {
                        log4net.Util.PatternString dynamicFileName         = new log4net.Util.PatternString(LogFileName);
                        log4net.Util.ConverterInfo adminuiLogConverterInfo = new log4net.Util.ConverterInfo();
                        adminuiLogConverterInfo.Name = "adminuilog";
                        adminuiLogConverterInfo.Type = typeof(Log4Net_CMTrace.CMAdminUILogFolderPatternConverter);
                        log4net.Util.ConverterInfo ccmLogConverterInfo = new log4net.Util.ConverterInfo();
                        ccmLogConverterInfo.Name = "ccmlog";
                        ccmLogConverterInfo.Type = typeof(Log4Net_CMTrace.CMClientLogFolderPatternConverter);
                        log4net.Layout.PatternLayout newLayout = new log4net.Layout.PatternLayout();
                        dynamicFileName.AddConverter(adminuiLogConverterInfo);
                        dynamicFileName.AddConverter(ccmLogConverterInfo);
                        dynamicFileName.ActivateOptions();
                        //fileAppender.File = LogFileName;
                        fileAppender.File = dynamicFileName.Format();
                    }
                    else
                    {
                        if (MyInvocation.ScriptName != "")
                        {
                            fileAppender.File = MyInvocation.ScriptName + ".OMS." + DateTime.Today.ToString("yyyyMMdd") + ".log";
                        }
                    }
                    if (MyInvocation.BoundParameters.ContainsKey("OMSFileLogLevel"))
                    {
                        switch (FileLogLevel.ToLower())
                        {
                        case "off": fileAppender.Threshold = log4net.Core.Level.Off; break;

                        case "info": fileAppender.Threshold = log4net.Core.Level.Info; break;

                        case "warn": fileAppender.Threshold = log4net.Core.Level.Warn; break;

                        case "error": fileAppender.Threshold = log4net.Core.Level.Error; break;

                        case "debug": fileAppender.Threshold = log4net.Core.Level.Debug; break;

                        default: fileAppender.Threshold = log4net.Core.Level.Info; break;
                        }
                    }
                    fileAppender.ActivateOptions();
                }
                #endregion
                #region ConsoleAppender
                if (logAppender.GetType() == typeof(log4net.Appender.ConsoleAppender))
                {
                    log4net.Appender.ConsoleAppender consoleAppender = (log4net.Appender.ConsoleAppender)logAppender;
                    if (this.Host.Name.ToLower() == "consolehost")
                    {
                        if (MultiColor == false)
                        {
                            {
                                if (MyInvocation.BoundParameters.ContainsKey("ConsoleLogLevel"))
                                {
                                    switch (ConsoleLogLevel.ToLower())
                                    {
                                    case "off": consoleAppender.Threshold = log4net.Core.Level.Off; break;

                                    case "info": consoleAppender.Threshold = log4net.Core.Level.Info; break;

                                    case "warn": consoleAppender.Threshold = log4net.Core.Level.Warn; break;

                                    case "error": consoleAppender.Threshold = log4net.Core.Level.Error; break;

                                    case "debug": consoleAppender.Threshold = log4net.Core.Level.Debug; break;

                                    default: consoleAppender.Threshold = log4net.Core.Level.Info; break;
                                    }
                                }
                            }
                        }
                        else
                        {
                            consoleAppender.Threshold = log4net.Core.Level.Off;
                        }
                    }
                    else
                    {
                        if (this.Host.Name.ToLower() == "windows powershell ise host")
                        {
                            if (MyInvocation.BoundParameters.ContainsKey("ConsoleLogLevel"))
                            {
                                switch (ConsoleLogLevel.ToLower())
                                {
                                case "off": consoleAppender.Threshold = log4net.Core.Level.Off; break;

                                case "info": consoleAppender.Threshold = log4net.Core.Level.Info; break;

                                case "warn": consoleAppender.Threshold = log4net.Core.Level.Warn; break;

                                case "error": consoleAppender.Threshold = log4net.Core.Level.Error; break;

                                case "debug": consoleAppender.Threshold = log4net.Core.Level.Debug; break;

                                default: consoleAppender.Threshold = log4net.Core.Level.Info; break;
                                }
                            }
                            if ((MyInvocation.BoundParameters.ContainsKey("MultiColor")) && (MultiColor == true))
                            {
                                Console.WriteLine("Powershell ISe does not support multi colored displays.");
                            }
                        }
                    }
                    consoleAppender.ActivateOptions();
                }
                #endregion
                #region coloredconsoleappender
                if (logAppender.GetType() == typeof(log4net.Appender.ColoredConsoleAppender))
                {
                    log4net.Appender.ColoredConsoleAppender coloredConsoleAppender = (log4net.Appender.ColoredConsoleAppender)logAppender;
                    if (this.Host.Name.ToLower() == "consolehost")
                    {
                        if (MultiColor == true)
                        {
                            if (MyInvocation.BoundParameters.ContainsKey("ConsoleLogLevel"))
                            {
                                switch (ConsoleLogLevel.ToLower())
                                {
                                case "off": coloredConsoleAppender.Threshold = log4net.Core.Level.Off; break;

                                case "info": coloredConsoleAppender.Threshold = log4net.Core.Level.Info; break;

                                case "warn": coloredConsoleAppender.Threshold = log4net.Core.Level.Warn; break;

                                case "error": coloredConsoleAppender.Threshold = log4net.Core.Level.Error; break;

                                case "debug": coloredConsoleAppender.Threshold = log4net.Core.Level.Debug; break;

                                default: coloredConsoleAppender.Threshold = log4net.Core.Level.Info; break;
                                }
                            }
                        }
                        else
                        {
                            coloredConsoleAppender.Threshold = log4net.Core.Level.Off;
                        }
                    }
                    if (this.Host.Name.ToLower() == "windows powershell ise host")
                    {
                        coloredConsoleAppender.Threshold = log4net.Core.Level.Off;
                    }
                    coloredConsoleAppender.ActivateOptions();
                }
                #endregion
            }
        }
Esempio n. 17
0
        private static log4net.Appender.ConsoleAppender GetConsoleAppender(
            log4net.Core.Level consoleLogLevel)
        {
            log4net.Appender.ConsoleAppender appender = new log4net.Appender.ConsoleAppender();
            appender.Name = "Console";
            appender.Layout = new log4net.Layout.PatternLayout(
                "%d{yyyy-MM-dd HH:mm:ss} [%t] %-5p %c - %m%n");
            appender.Threshold = consoleLogLevel; 
            appender.ActivateOptions();

            return appender;
        }