示例#1
0
        public static void Configure(string logFile)
        {
            var hierarchy = (Hierarchy)LogManager.GetRepository();
            hierarchy.Root.RemoveAllAppenders();

            var fileAppender = new RollingFileAppender
            {
                RollingStyle = RollingFileAppender.RollingMode.Size,
                AppendToFile = true,
                LockingModel = new FileAppender.MinimalLock(),
                Encoding = Encoding.UTF8,
                File = logFile,
                MaxFileSize = 10 * 1024 * 1024,
                MaxSizeRollBackups = 0
            };
            var pl = new PatternLayout {ConversionPattern = "%date %-5level [%-10logger]   %m%n"};
            pl.ActivateOptions();
            fileAppender.Layout = pl;
            fileAppender.ActivateOptions();
            log4net.Config.BasicConfigurator.Configure(fileAppender);

            #if DEBUG
            var debugAppender = new DebugAppender {Layout = pl};
            debugAppender.ActivateOptions();
            log4net.Config.BasicConfigurator.Configure(debugAppender);
            #endif
        }
示例#2
0
        public DebugAppenderLog(LogConfiguration configuration) : base(configuration)
        {
            var debugAppender = new DebugAppender
            {
                Name      = "TraceAppender",
                Layout    = new PatternLayout(this.configuration.ConsolePattern),
                Threshold = this.configuration.Level
            };

            debugAppender.ActivateOptions();

            this.appender = new SqlAppender();
            this.appender.AddAppender(debugAppender);
        }
        public void TestFixtureSetUp()
        {
            debugAppender = new DebugAppender();
            debugAppender.ActivateOptions();

            asyncForwardingAppender = new ParallelForwardingAppender();
            asyncForwardingAppender.AddAppender(debugAppender);
            asyncForwardingAppender.ActivateOptions();

            repository = LogManager.CreateRepository(Guid.NewGuid().ToString());
            BasicConfigurator.Configure(repository, asyncForwardingAppender);

            log = LogManager.GetLogger(repository.Name, "TestLogger");
        }
        public static IAppender CreateDebugAppender(Level threshold)
        {
            var layout = new PatternLayout("%date %-5level %logger - %message%newline");

            layout.ActivateOptions();

            var appender = new DebugAppender()
            {
                Threshold = threshold,
                Layout    = layout
            };

            appender.ActivateOptions();

            return(appender);
        }
        internal static DebugAppender BuildDebugLog(ListeningLogOptions options)
        {
            var layout = new PatternLayout
            {
                ConversionPattern = options.Pattern
            };

            layout.ActivateOptions();
            var appender = new DebugAppender
            {
                Layout         = layout,
                ImmediateFlush = options.ImmediateFlush
            };

            appender.ActivateOptions();
            return(appender);
        }
示例#6
0
        public static void Initialize()
        {
            var hierarchy = (Hierarchy)LogManager.GetRepository();

            var patternLayout = new PatternLayout
            {
                ConversionPattern =
                    "%date | %-5level | [%2thread] %logger{1}.%method:%line | %message%newline%exception"
            };

            patternLayout.ActivateOptions();

            var file = new RollingFileAppender
            {
                AppendToFile       = false,
                File               = MainLogFile,
                Layout             = patternLayout,
                MaxSizeRollBackups = 50,
                RollingStyle       = RollingFileAppender.RollingMode.Once,
                StaticLogFileName  = true
            };

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

            var console = new DebugAppender {
                Layout = patternLayout
            };

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

            var user = new UserLog {
                Layout = patternLayout
            };

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

            hierarchy.Root.Level = Level.Info;
            hierarchy.Configured = true;

            Log.Info(MainLogFile);
        }
示例#7
0
        public static void SetUp(Assembly assembly, string fileName)
        {
            var patternLayout = new PatternLayout
            {
                ConversionPattern = "%date{yyyy-MM-dd hh:mm:ss tt} [%thread] %-5level %logger - %message%newline"
            };

            patternLayout.ActivateOptions();

            var consoleAppender = new ConsoleAppender
            {
                Threshold = Level.All,
                Name      = "ConsoleAppender",
                Layout    = patternLayout
            };

            consoleAppender.ActivateOptions();

            var debugAppender = new DebugAppender
            {
                Threshold = Level.All,
                Name      = "DebugAppender",
                Layout    = patternLayout
            };

            debugAppender.ActivateOptions();

            var roller = new RollingFileAppender
            {
                AppendToFile      = true,
                File              = $"{fileName}/Automation",
                Layout            = patternLayout,
                DatePattern       = ".yyyy-MM-dd.lo\\g",
                MaximumFileSize   = "10MB",
                RollingStyle      = RollingFileAppender.RollingMode.Date,
                StaticLogFileName = false
            };

            roller.ActivateOptions();

            BasicConfigurator.Configure(LoggerManager.GetRepository(assembly), consoleAppender, debugAppender, roller);
        }
示例#8
0
        public void Setup()
        {
            if (string.IsNullOrEmpty(LogPath))
            {
                LogPath = WebConfigutation.LogPath;
            }
            Hierarchy hierarchy = (Hierarchy)LogManager.GetRepository();

            PatternLayout patternLayout = new PatternLayout();

            patternLayout.ConversionPattern = "%date [%thread] %-5level %logger - %message%newline";
            patternLayout.ActivateOptions();

            RollingFileAppender roller = new RollingFileAppender();

            roller.AppendToFile       = true;
            roller.File               = Path.Combine(LogPath, LogFileName); //"Log\\RobotExport.log"
            roller.DatePattern        = "_yyyy-MM-dd'.log'";
            roller.RollingStyle       = RollingFileAppender.RollingMode.Date;
            roller.Layout             = patternLayout;
            roller.MaxSizeRollBackups = 5;
            roller.MaximumFileSize    = "1GB";
            // roller.RollingStyle = RollingFileAppender.RollingMode.Size;
            roller.StaticLogFileName = true;
            roller.ActivateOptions();
            hierarchy.Root.AddAppender(roller);

            MemoryAppender memory = new MemoryAppender();

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

            DebugAppender Debug = new DebugAppender();

            Debug.Layout = patternLayout;
            Debug.ActivateOptions();
            hierarchy.Root.AddAppender(Debug);

            hierarchy.Root.Level = Level.All;
            hierarchy.Configured = true;
        }
示例#9
0
        private static void SetupLogging()
        {
            var hierarchy = (Hierarchy)LogManager.GetRepository();

            var patternLayout = new PatternLayout {
                ConversionPattern = "%d [%t] %-5p %m%n"
            };

            patternLayout.ActivateOptions();

            var debugAppender = new DebugAppender {
                Layout = patternLayout
            };

            debugAppender.ActivateOptions();

            var root = hierarchy.Root;

            root.AddAppender(debugAppender);
            root.Level = Level.Debug;

            hierarchy.Configured = true;
        }
示例#10
0
        /// <summary>
        /// 设置配置
        /// </summary>
        public void SetConfig()
        {
            //不是第一次设置
            if (rep != null)
            {
                rep.ResetConfiguration();
            }
            else//初次创建
            {
                //创建Repository
                try
                {
                    rep = LogManager.GetRepository(logName);
                    //log = LogManager.GetLogger(rep.Name, logName);
                }
                catch
                {
                    rep = LogManager.CreateRepository(logName);
                    log4net.Config.BasicConfigurator.Configure(rep, fileApp);
                    log = LogManager.GetLogger(logName, logName);
                }
            }

            //重设文件输出
            RollingFileAppender fileAppender = new RollingFileAppender();

            fileAppender.Layout = new PatternLayout(strLayoutPattern);

            fileAppender.RollingStyle = (RollingFileAppender.RollingMode)rollingMode;
            if (rollingMode == RollingType.Date)
            {
                fileAppender.StaticLogFileName = false;
                fileAppender.DatePattern       = @"\\\\yyyy-MM-dd\\\\yyyyMMdd'.log'";
                fileAppender.File = filePath;

                if (fileAppender.File != null && fileAppender.File.EndsWith(".log"))
                {
                    fileAppender.File = fileAppender.File.Remove(fileAppender.File.IndexOf(".log"));
                }
            }
            else
            {
                fileAppender.File = filePath;
            }
            fileAppender.LockingModel = new RollingFileAppender.MinimalLock();
            fileAppender.AppendToFile = true;
            fileAppender.Encoding     = Encoding.GetEncoding("GB2312");
            //fileAppender.CountDirection = 1;
            fileAppender.MaxFileSize        = maxFileSize;
            fileAppender.MaxSizeRollBackups = this.MaxSizeRollBackups;

            fileAppender.ActivateOptions();
            fileApp = fileAppender;

            if ((logType & LogType.File) == LogType.File)
            {
                //创建Log文件输出方式
                log4net.Config.BasicConfigurator.Configure(rep, fileApp);
            }
            //控制台输出
            if ((logType & LogType.Console) == LogType.Console)
            {
                PatternLayout   layout   = new PatternLayout(strLayoutPattern);
                ConsoleAppender appender = new ConsoleAppender();
                appender.Layout = layout;
                log4net.Config.BasicConfigurator.Configure(rep, appender);
            }
            //数据库输出
            if ((logType & LogType.DataBase) == LogType.DataBase)
            {
                AdoNetAppender appender = new AdoNetAppender();
                appender.ConnectionString = DBConnectionString;
                appender.CommandText      = DBInsertSql;
                if (DBParameter != null)
                {
                    for (int i = 0; i < DBParameter.Length; i++)
                    {
                        appender.AddParameter(DBParameter[i]);
                    }
                }
                log4net.Config.BasicConfigurator.Configure(rep, appender);
            }
            //Debug输出
            if ((logType & LogType.Debug) == LogType.Debug)
            {
                DebugAppender appender = new DebugAppender();
                appender.Layout = new PatternLayout(strLayoutPattern);
                log4net.Config.BasicConfigurator.Configure(rep, appender);
            }

            log = LogManager.GetLogger(rep.Name, logName);
        }
示例#11
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);
            }
        }
示例#12
0
        public static void Configure(string logFilesFolderPath, Log4NetConfigurator configurator)
        {
            if (logFilesFolderPath.StartsWith("~"))
            {
                logFilesFolderPath = logFilesFolderPath.Substring(1);
            }
            if (logFilesFolderPath.StartsWith("/"))
            {
                logFilesFolderPath = logFilesFolderPath.Substring(1);
            }

            var hierarchy = (Hierarchy)LogManager.GetRepository();


            hierarchy.Root.Level = Level.Warn;
            hierarchy.Configured = true;

            var patternLayout = new PatternLayout
            {
                ConversionPattern = "%date [%thread] %-5level %logger - %P{Tenant} - %message%newline"
            };

            patternLayout.ActivateOptions();

            var debugFileAppender = BaseFileAppender(patternLayout);

            debugFileAppender.Name = "debug-file";
            debugFileAppender.File = Path.Combine(logFilesFolderPath, "orchard-debug");
            debugFileAppender.ActivateOptions();
            hierarchy.Root.AddAppender(debugFileAppender);

            var errorFileAppender = BaseFileAppender(patternLayout);

            errorFileAppender.Name = "error-file";
            errorFileAppender.File = Path.Combine(logFilesFolderPath, "orchard-error");
            var levelFilter = new LevelRangeFilter {
                LevelMin = Level.Error
            };

            levelFilter.ActivateOptions();
            errorFileAppender.AddFilter(levelFilter);
            errorFileAppender.ActivateOptions();
            hierarchy.Root.AddAppender(errorFileAppender);

            var simpleLayout = new SimpleLayout();

            simpleLayout.ActivateOptions();
            var debuggerAppender = new DebugAppender();

            debuggerAppender.Name           = "debugger";
            debuggerAppender.ImmediateFlush = true;
            debuggerAppender.Layout         = simpleLayout;
            debuggerAppender.ActivateOptions();
            hierarchy.Root.AddAppender(debuggerAppender);

            GetLogger("Orchard").AddAppender(debuggerAppender);
            GetLogger("Orchard.Localization").Level = Level.Warn;
            GetLogger("NHibernate.Cache").Level     = Level.Error;
            GetLogger("NHibernate.AdoNet.AbstractBatcher").Level    = Level.Off;
            GetLogger("NHibernate.Util.ADOExceptionReporter").Level = Level.Off;

            configurator(hierarchy);
        }