Пример #1
0
        public void TestSetup()
        {
            outputBuilder = new StringBuilder();
            outputWriter = new StringWriter(outputBuilder);

            memoryAppender = new MemoryAppender();
            textAppender = new TextWriterAppender {Writer = outputWriter, Layout = new PatternLayout("%m")};

            log4netRepository = LogManager.GetAllRepositories().SingleOrDefault(x => x.Name == "test") ?? LogManager.CreateRepository("test");
            log4netRepository.ResetConfiguration();

            BasicConfigurator.Configure(log4netRepository, memoryAppender, textAppender);

            log4netLogger = LogManager.GetLogger("test", "root").Logger;

            adapter = new Log4netLog(log4netLogger);
        }
Пример #2
0
 public void Reconfigure(string extension, string defaultConfig)
 {
     if (repositoryName == "SysLog" && ConfigurationManager.GetSection("log4net") != null)
     {
         log4net.Config.XmlConfigurator.Configure(repository);
     }
     else
     {
         var xml = GetConfigXML(repositoryName, extension, defaultConfig);
         repository.ResetConfiguration();
         log4net.Config.XmlConfigurator.Configure(repository, xml);
     }
     lock ( locker) {
         if (exceptionLog == null)
         {
             exceptionLog = GetLogger("TickZoom.AppDomain");
             AppDomain.CurrentDomain.UnhandledException +=
                 new UnhandledExceptionEventHandler(UnhandledException);
         }
     }
 }
Пример #3
0
 private void Reconfigure(string extension, string defaultConfig)
 {
     this.currentExtension = extension;
     lock (repositoryLocker)
     {
         if (repositoryName == "SysLog" && ConfigurationManager.GetSection("log4net") != null)
         {
             log4net.Config.XmlConfigurator.Configure(repository);
         }
         else
         {
             var xml = GetConfigXML(repositoryName, extension, defaultConfig);
             repository.ResetConfiguration();
             log4net.Config.XmlConfigurator.Configure(repository, xml);
         }
     }
     lock ( locker) {
         if (exceptionLog == null)
         {
             exceptionLog = GetLogger("TickZoom.AppDomain");
         }
     }
 }
Пример #4
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);
        }