Exemplo n.º 1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="Log4NetFactory"/> class.
        /// </summary>
        /// <param name="log4NetConfigurationFile">The log4 net configuration file to load and watch. If not found configures from App.Config.</param>
        public Log4NetFactory(string log4NetConfigurationFile)
        {
#if NETSTANDARD2_0
            if (File.Exists(log4NetConfigurationFile))
            {
                log4net.Config.XmlConfigurator.ConfigureAndWatch(RootRepository, new FileInfo(log4NetConfigurationFile));
            }
            else
            {
                log4net.Config.XmlConfigurator.Configure(RootRepository);
            }
#else
            //Restart logging if necessary
            log4net.Repository.ILoggerRepository rootRepository = log4net.LogManager.GetRepository();
            if (rootRepository != null)
            {
                rootRepository.Shutdown();
            }

            if (File.Exists(log4NetConfigurationFile))
            {
                log4net.Config.XmlConfigurator.ConfigureAndWatch(new FileInfo(log4NetConfigurationFile));
            }
            else
            {
                log4net.Config.XmlConfigurator.Configure();
            }
#endif
        }
Exemplo n.º 2
0
        private static void ChangeRhinoLicensingLogLevelToWarn()
        {
            Assembly rhinoLicensingAssembly = Assembly.GetAssembly(typeof(Rhino.Licensing.LicenseValidator));

            if (rhinoLicensingAssembly == null)
            {
                return;
            }
            log4net.Repository.ILoggerRepository rhinoLicensingRepository =
                log4net.LogManager.GetRepository(rhinoLicensingAssembly);

            if (rhinoLicensingRepository == null)
            {
                return;
            }

            var hier = (log4net.Repository.Hierarchy.Hierarchy)rhinoLicensingRepository;
            var licenseValidatorLogger = hier.GetLogger("Rhino.Licensing.LicenseValidator");

            if (licenseValidatorLogger == null)
            {
                return;
            }

            ((log4net.Repository.Hierarchy.Logger)licenseValidatorLogger).Level = hier.LevelMap["WARN"];
        }
Exemplo n.º 3
0
        public RARController(/*IHttpContextAccessor httpContextAccessor, */ RARContext repositoryContext, IConfiguration configuration, ILogger <RARController> logger, IHostingEnvironment hostingEnvironment)
        {
            /*_httpContextAccessor = httpContextAccessor;*/

            RepositoryContext = repositoryContext;
            logger.LogInformation("Controller StoricoCartelleController started!");

            _hostingEnvironment = hostingEnvironment;

            _configuration = configuration;
            _logger        = logger;

            var executingAssembly = Assembly.GetExecutingAssembly();

            log4net.Repository.ILoggerRepository rootRepository = log4net.LogManager.GetRepository(executingAssembly);
            foreach (var appender in rootRepository.GetAppenders())
            {
                if (appender.Name.Equals("RollingFile") && appender is log4net.Appender.FileAppender)
                {
                    var fileAppender = appender as log4net.Appender.FileAppender;
                    fileAppender.File = "Log" +
                                        "\\rarapi_" + DateTime.Now.ToString("yyyyMMdd") + ".log";
                    fileAppender.ActivateOptions();
                }
            }
        }
Exemplo n.º 4
0
        // <appender name="console" type="log4net.Appender.ColoredConsoleAppender">
        //      <mapping>
        //        <level value="ERROR" />
        //        <foreColor value="White" />
        //        <backColor value="Red, HighIntensity" />
        //      </mapping>
        //      <mapping>
        //        <level value="WARN" />
        //        <foreColor value="Yellow, HighIntensity" />
        //      </mapping>
        //      <mapping>
        //        <level value="INFO" />
        //        <foreColor value="Green" />
        //      </mapping>
        //      <layout type="log4net.Layout.PatternLayout">
        //        <conversionPattern value="%date %newline%message%newline%newline" />
        //      </layout>
        //  </appender>
        public static void AddConsoleAppender(this log4net.Repository.ILoggerRepository loggerRepo)
        {
            var appender = new log4net.Appender.ColoredConsoleAppender();

            appender.Name   = "console";
            appender.Layout = new log4net.Layout.PatternLayout("%date %newline%message%newline%newline");

            var errorMapping = new log4net.Appender.ColoredConsoleAppender.LevelColors();

            errorMapping.ForeColor = log4net.Appender.ColoredConsoleAppender.Colors.White;
            errorMapping.BackColor = log4net.Appender.ColoredConsoleAppender.Colors.Red & log4net.Appender.ColoredConsoleAppender.Colors.HighIntensity;
            errorMapping.Level     = log4net.Core.Level.Error;
            appender.AddMapping(errorMapping);

            var warnMapping = new log4net.Appender.ColoredConsoleAppender.LevelColors();

            warnMapping.BackColor = log4net.Appender.ColoredConsoleAppender.Colors.Yellow & log4net.Appender.ColoredConsoleAppender.Colors.HighIntensity;
            warnMapping.Level     = log4net.Core.Level.Warn;
            appender.AddMapping(warnMapping);

            var infoMapping = new log4net.Appender.ColoredConsoleAppender.LevelColors();

            infoMapping.BackColor = log4net.Appender.ColoredConsoleAppender.Colors.Green;
            infoMapping.Level     = log4net.Core.Level.Info;
            appender.AddMapping(infoMapping);

            appender.ActivateOptions();

            loggerRepo.AddAppender(appender);
        }
Exemplo n.º 5
0
        public static void Main(string[] args)
        {
            bool debug = false;

            foreach (string arg in args)
            {
                switch (arg)
                {
                case "-d":
                case "--debug":
                    debug = true;
                    break;

                case "-h":
                case "--help":
                    ShowHelp();
                    Environment.Exit(0);
                    break;

                    /*
                     * // don't block other parameters as we pass them to
                     * // GTK+ / GNOME too
                     * default:
                     *  Console.WriteLine("Invalid option: " + arg);
                     *  Environment.Exit(1);
                     *  break;
                     */
                }
            }

#if LOG4NET
            // initialize log level
            log4net.Repository.ILoggerRepository repo = log4net.LogManager.GetRepository();
            if (debug)
            {
                repo.Threshold = log4net.Core.Level.Debug;
            }
            else
            {
                repo.Threshold = log4net.Core.Level.Info;
            }
#endif

            try {
                Frontend.Init(args);
            } catch (Exception e) {
#if LOG4NET
                _Logger.Fatal(e);
#endif
                // when Gtk# receives an exception it is not usable/relyable anymore!
                // except the exception was thrown in Frontend.Init() itself
                if (Frontend.IsGtkInitialized && !Frontend.InGtkApplicationRun)
                {
                    Frontend.ShowException(e);
                }

                // rethrow the exception for console output
                throw;
            }
        }
Exemplo n.º 6
0
        private LogDynamicHelper()
        {
            string logPath     = ConfigurationManager.AppSettings["logPath"];
            string logFileName = ConfigurationManager.AppSettings["logFileName"];

            logPath     = logPath.Trim().TrimEnd('\\').TrimEnd('/');
            logFileName = logFileName.Trim().TrimEnd('\\').TrimEnd('/');

            if (!Directory.Exists(logPath))//如果不存在就创建file文件夹
            {
                Directory.CreateDirectory(logPath);
            }
            _logFile = logPath + '\\' + logFileName;

            //RollingFileAppender
            _rollingFileAppender = new log4net.Appender.RollingFileAppender();
            _rollingFileAppender.AppendToFile       = true;
            _rollingFileAppender.ImmediateFlush     = true;
            _rollingFileAppender.LockingModel       = new log4net.Appender.FileAppender.MinimalLock();
            _rollingFileAppender.RollingStyle       = log4net.Appender.RollingFileAppender.RollingMode.Composite;
            _rollingFileAppender.MaxSizeRollBackups = 50;
            _rollingFileAppender.MaximumFileSize    = "1MB";
            _rollingFileAppender.Encoding           = Encoding.UTF8;

            _repository = log4net.LogManager.CreateRepository("MyRepository");

            string patternLayout = null;

            //patternLayout = "%date [%thread] %-5level% [%l]-[%m]newline%message%newline";
            patternLayout = "[%thread]%newline%message%newline";
            _layout       = new log4net.Layout.PatternLayout(patternLayout);
        }
Exemplo n.º 7
0
        private static Action <DateTime, int, string, Exception> Log4NetLogHandlerProvider(string loggerName)
        {
            if (_log4netLogRepo == null)
            {
                _log4netLogRepo = log4net.LogManager.GetRepository(Assembly.GetEntryAssembly());
                log4net.Config.XmlConfigurator.ConfigureAndWatch(_log4netLogRepo, new FileInfo("log4net.config"));
            }

            var log4netLogger = _log4netLogRepo.GetLogger(loggerName);

            return(new Action <DateTime, int, string, Exception>(delegate(DateTime timeStamp, int logLevel, string message, Exception exception)
            {
                log4net.Core.LoggingEventData logEventData = new log4net.Core.LoggingEventData();

                logEventData.Level = _log4NetLogLevelArray[logLevel];
                logEventData.TimeStampUtc = timeStamp.ToUniversalTime();

                logEventData.Message = message;

                if (exception != null)
                {
                    logEventData.ExceptionString = exception.ToString();
                }

                log4net.Core.LoggingEvent logEvent = new log4net.Core.LoggingEvent(logEventData);
                log4netLogger.Log(logEvent);
            }));
        }
Exemplo n.º 8
0
        private static void Main(string[] args)
        {
            // Setup SystemInteraction
            var persistentFolder = Path.Combine(Path.GetDirectoryName(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)), "WoMSadGui");

            Directory.CreateDirectory(persistentFolder);
            SystemInteraction.ReadData         = f => File.ReadAllText(Path.Combine(Path.GetDirectoryName(typeof(Program).Assembly.Location), f));
            SystemInteraction.DataExists       = f => File.Exists(Path.Combine(Path.GetDirectoryName(typeof(Program).Assembly.Location), f));
            SystemInteraction.ReadPersistent   = f => File.ReadAllText(Path.Combine(persistentFolder, f));
            SystemInteraction.PersistentExists = f => File.Exists(Path.Combine(persistentFolder, f));
            SystemInteraction.Persist          = (f, c) => File.WriteAllText(Path.Combine(persistentFolder, f), c);

            log4net.Repository.ILoggerRepository logRepository = LogManager.GetRepository(Assembly.GetEntryAssembly());
            XmlConfigurator.Configure(logRepository, new FileInfo("log4net.config"));

            // Setup the engine and create the main window.
            Game.Create("IBM.font", Width, Height);

            // Hook the start event so we can add consoles to the system.
            Game.OnInitialize = Init;

            // Hook the update event that happens each frame so we can trap keys and respond.
            Game.OnUpdate = Update;

            // Start the game.
            Game.Instance.Run();

            //
            // Code here will not run until the game window closes.
            //

            Game.Instance.Dispose();
        }
Exemplo n.º 9
0
        public static void Main()
        {
            log4net.Repository.ILoggerRepository logRepository = log4net.LogManager.GetRepository(
                System.Reflection.Assembly.GetEntryAssembly());
            log4net.Config.XmlConfigurator.Configure(logRepository, new FileInfo("log4net.config"));

            DateTime startDT = DateTime.Now;

            try
            {
                F_01_Application_Tests.RunTests();
                F_02_MEAPTests.RunTests();
                F_03_IF_NDTM_Comms_Tests.RunTests();
                F_04_IF_NDTM_CPLTM_Tests.RunTests();

                DateTime endDT = DateTime.Now;

                Console.WriteLine("Passed: all the tests; {0}, {1}", startDT, endDT);
            }
            catch
            {
                DateTime endDT = DateTime.Now;

                Console.WriteLine("Running tests error; {0}, {1}", startDT, endDT);
                throw;
            }
        }
Exemplo n.º 10
0
        private string GenerateCurrentLog4NetRepository()
        {
            string result = "";

            ///Appender
            log4net.Appender.RollingFileAppender appender = new log4net.Appender.RollingFileAppender();

            appender.AppendToFile       = true;
            appender.File               = this.logPath + "\\" + this.logName;
            appender.RollingStyle       = log4net.Appender.RollingFileAppender.RollingMode.Composite;
            appender.DatePattern        = ".dd";
            appender.MaxSizeRollBackups = 100;
            appender.MaximumFileSize    = "100MB";
            appender.CountDirection     = 1;
            appender.ImmediateFlush     = true;
            appender.LockingModel       = new log4net.Appender.FileAppender.MinimalLock();

            ///layout
            //log4net.Layout.PatternLayout layout = new log4net.Layout.PatternLayout("%message%newline");
            log4net.Layout.PatternLayout layout = new log4net.Layout.PatternLayout("%-5level:%message%newline");
            layout.Header = "------ New session ------" + Environment.NewLine;
            layout.Footer = "------ End session ------" + Environment.NewLine;
            //
            appender.Layout = layout;
            appender.ActivateOptions();
            //
            log4net.Repository.ILoggerRepository repository = log4net.LogManager.CreateRepository(this.logName + "Repository");
            log4net.Config.BasicConfigurator.Configure(repository, appender);
            result = repository.Name;

            return(result);
        }
Exemplo n.º 11
0
        /// <summary>
        /// 自定义初始化事件
        /// </summary>
        public void UserDefinedStartup()
        {
            try
            {
                Apliu.Standard.Tools.Logger.WriteLogWeb("开始执行自定义初始化事件");

                //加载配置文件
                Models.ConfigurationJson.LoadConfig();

                //初始化程序跟目录
                ApliuCoreWeb.Models.Common.RootDirectory = Apliu.Standard.Tools.Web.ServerInfo.SitePath + @"\";

                //启动access_token管理任务
                Models.WeChat.WxTokenManager.TokenTaskStart();

                //创建自定义菜单
                //Models.WeChat.WxDefaultMenu.CreateMenus();

                //初始化日志配置
                log4net.Repository.ILoggerRepository loggerRepository = LogManager.CreateRepository("NETCoreRepositoryObject");
                log4net.Config.XmlConfigurator.Configure(loggerRepository, new FileInfo("Config/log4net.config".ToLinuxOrWinPath()));
                log4net.ILog log4Net = LogManager.GetLogger(loggerRepository.Name, typeof(Object));
                ApliuCoreWeb.Models.Common.Log4Net = log4Net;

                Apliu.Standard.Tools.Logger.WriteLogWeb("自定义初始化事件执行完成");
            }
            catch (System.Exception ex)
            {
                Apliu.Standard.Tools.Logger.WriteLogWeb("自定义初始化事件执行失败,详情:" + ex.Message);
            }
        }
Exemplo n.º 12
0
        ILog ConfigLog4Net()
        {
            ///Appender2
            log4net.Appender.RollingFileAppender appender = new log4net.Appender.RollingFileAppender();

            appender.AppendToFile       = true;
            appender.File               = "DatFileWatcher.log";
            appender.MaxFileSize        = 5 * 1024 * 1024;
            appender.MaxSizeRollBackups = 2;
            appender.ImmediateFlush     = true;
            appender.LockingModel       = new log4net.Appender.FileAppender.MinimalLock();

            appender.Name = "DatFileWatcher";
            ///layout
            log4net.Layout.PatternLayout layout = new log4net.Layout.PatternLayout("%date [%thread] %-5level - %message%newline");
            layout.Header   = "------ New session ------" + Environment.NewLine;
            layout.Footer   = "------ End session ------" + Environment.NewLine;
            appender.Layout = layout;
            appender.ActivateOptions();

            log4net.Repository.ILoggerRepository repository = log4net.LogManager.CreateRepository("DatFileWatcher");
            log4net.Config.BasicConfigurator.Configure(repository, appender);
            ILog logger = log4net.LogManager.GetLogger(repository.Name, "Logger");

            return(logger);
        }
Exemplo n.º 13
0
 /// <summary>
 /// 初始化日志仓储
 /// </summary>
 /// <param name="configFileName">log4net配置文件</param>
 internal static void InitRepository(string configFileName)
 {
     if (Repository == null)
     {
         Repository = log4net.LogManager.CreateRepository("Log4netRepository");
     }
     log4net.Config.XmlConfigurator.Configure(Log4NetProvider.Repository, new FileInfo(configFileName));
 }
Exemplo n.º 14
0
 /// <summary>
 /// 初始化日志仓储
 /// </summary>
 /// <param name="configFileName">log4net配置文件</param>
 internal static void InitRepository(string configFileName)
 {
     if (Repository == null)
     {
         Repository = log4net.LogManager.CreateRepository("Log4netRepository");
     }
     log4net.Config.XmlConfigurator.Configure(Log4NetProvider.Repository, new FileInfo(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, configFileName)));
 }
Exemplo n.º 15
0
 private static void SetupLog4Net()
 {
     log4net.Repository.ILoggerRepository repo = log4net.LogManager.GetRepository(Assembly.GetEntryAssembly());
     log4net.Config.XmlConfigurator.Configure(repo, new FileInfo("log4net.config"));
     Logger.SetLogFileName("Main", "excel-parser-main.log");
     Logger.SetSecondLogFileName("excel-parser-aux.log");
     Logger.SetupForTests("Main", "Second");
 }
Exemplo n.º 16
0
        public static string BuildLog4Net(Log4NetConfiguration configuration = null)
        {
            log4net.Layout.SerializedLayout layout = new log4net.Layout.SerializedLayout();
            layout.AddDecorator(new log4net.Layout.Decorators.StandardTypesDecorator());
            layout.AddDefault("");
            layout.AddRemove("message");
            layout.AddMember("messageobject");
            layout.ActivateOptions();

            log4net.Filter.LevelMatchFilter filter = new log4net.Filter.LevelMatchFilter
            {
                LevelToMatch = log4net.Core.Level.All
            };
            filter.ActivateOptions();

            (string InstanceName, bool Buffered, bool KeepFileOpen, bool Shared) = configuration ?? new Log4NetConfiguration();

            log4net.Appender.FileAppender.LockingModelBase LockingModel = new log4net.Appender.FileAppender.MinimalLock();
            if (KeepFileOpen)
            {
                if (Shared)
                {
                    LockingModel = new log4net.Appender.FileAppender.InterProcessLock();
                }
                else
                {
                    LockingModel = new log4net.Appender.FileAppender.ExclusiveLock();
                }
            }

            bool ImmediateFlush = !Buffered;

            log4net.Appender.RollingFileAppender rollingFileAppender = new log4net.Appender.RollingFileAppender
            {
                File = $@"log4net\{InstanceName.ToLower()}-{DateTime.Now.ToString("yyyyMMddHHmm")}-latest.log",

                ImmediateFlush = ImmediateFlush,
                LockingModel   = LockingModel,

                AppendToFile = true,
                RollingStyle = log4net.Appender.RollingFileAppender.RollingMode.Composite,
                DatePattern  = "yyyyMMddhhmm",
                MaxFileSize  = 100_000_000,
                Name         = $"{InstanceName}Appender",
                Layout       = layout
            };
            rollingFileAppender.AddFilter(filter);
            rollingFileAppender.ActivateOptions();

            string Repository = $"{InstanceName}Repository";

            log4net.Repository.ILoggerRepository repository = log4net.Core.LoggerManager.CreateRepository(Repository);

            log4net.Config.BasicConfigurator.Configure(repository, rollingFileAppender);

            return(Repository);
        }
    }
Exemplo n.º 17
0
        public static void AddMethodAppender(this log4net.Repository.ILoggerRepository loggerRepo)
        {
            var appender = new MethodAppender();

            appender.Name   = "method";
            appender.Layout = new log4net.Layout.PatternLayout("%date %newline%message%newline%newline");

            loggerRepo.AddAppender(appender);
        }
Exemplo n.º 18
0
 public static void Init()
 {
     log4net.Repository.ILoggerRepository repository = LogManager.CreateRepository("NetCore");
     log4net.Config.XmlConfigurator.ConfigureAndWatch(repository, new FileInfo(Path.Combine(AppContext.BaseDirectory, "Log4Net.config")));
     log       = LogManager.GetLogger(repository.Name, "FileLog");
     log_debug = LogManager.GetLogger(repository.Name, "RollingLog");
     Task.Run(new Action(WriteToFile));
     Task.Run(new Action(DebugToFile));
 }
Exemplo n.º 19
0
        static dbs()
        {
            log4net.Repository.ILoggerRepository repository = log4net.LogManager.CreateRepository("NETCoreRepository");
            var fileInfo = new FileInfo("config/log4net.config");

            log4net.Config.XmlConfigurator.Configure(repository, fileInfo);
            log4net.Config.BasicConfigurator.Configure(repository);
            Log = log4net.LogManager.GetLogger(repository.Name, "NETCorelog4net");
            Db  = new Snow.Orm.DB("Data Source=localhost;database=snow_shop;user id=root;password=123456;Pooling=true;Max Pool Size=100;Min Pool Size=1;default command timeout=20;characterset=utf8", 0, Log);
        }
Exemplo n.º 20
0
        static dbs()
        {
            log4net.Repository.ILoggerRepository repository = log4net.LogManager.CreateRepository("NETCoreRepository");
            var fileInfo = new FileInfo("config/log4net.config");

            log4net.Config.XmlConfigurator.Configure(repository, fileInfo);
            log4net.Config.BasicConfigurator.Configure(repository);
            Log = log4net.LogManager.GetLogger(repository.Name, "NETCorelog4net");
            Db  = new Snow.Orm.DB("Server=localhost;Database=snow_shop;Uid=root;Pwd=123456", 0, Log, true);
        }
Exemplo n.º 21
0
        /// <summary>
        /// Shutdowns the logging Subsystem.
        /// </summary>
        public static void Shutdown()
        {
            log4net.Repository.ILoggerRepository repository = LogManager.GetRepository();

            if (repository != null)
            {
                repository.Shutdown();
            }

            LogManager.Shutdown();
        }
        /// <summary>
        /// Create the file name and sets the path for CommonLogAppender. default path is bin\debug
        /// </summary>
        /// <param name="newFilename"></param>
        public static void CreateLogFile(string newFilename)
        {
            log4net.Repository.ILoggerRepository repository = LogManager.GetRepository("");
            var appender = repository.GetAppenders()
                           .First(i => i is log4net.Appender.FileAppender && i.Name.Equals("CommonLogAppender"));

            var fileAppender = (log4net.Appender.FileAppender)appender;

            fileAppender.File = newFilename;
            fileAppender.ActivateOptions();
        }
Exemplo n.º 23
0
 public static void FlushBuffers()
 {
     log4net.Repository.ILoggerRepository rep = LogManager.GetRepository();
     foreach (log4net.Appender.IAppender appender in rep.GetAppenders())
     {
         var buffered = appender as log4net.Appender.BufferingAppenderSkeleton;
         if (buffered != null)
         {
             buffered.Flush();
         }
     }
 }
Exemplo n.º 24
0
        public static void ModifyAppenders <T>(this log4net.Repository.ILoggerRepository repository, Action <T> modify) where T : log4net.Appender.AppenderSkeleton
        {
            var appenders = from appender in log4net.LogManager.GetRepository().GetAppenders()
                            where appender is T
                            select appender as T;

            foreach (var appender in appenders)
            {
                modify(appender);
                appender.ActivateOptions();
            }
        }
Exemplo n.º 25
0
        public VisualAppender()
        {
            log4net.Repository.ILoggerRepository repository = LogManager.GetRepository();

            debugLevel   = repository.LevelMap["DEBUG"].Value;
            warningLevel = repository.LevelMap["WARN"].Value;
            infoLevel    = repository.LevelMap["INFO"].Value;
            errorLevel   = repository.LevelMap["ERROR"].Value;
            fatalLevel   = repository.LevelMap["FATAL"].Value;

            logViewModel = new LogViewModel();
        }
Exemplo n.º 26
0
        public Startup(IHostingEnvironment env)
        {
            var builder = new ConfigurationBuilder()
                          .SetBasePath(env.ContentRootPath)
                          .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
                          .AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true)
                          .AddEnvironmentVariables();

            Configuration = builder.Build();
            repository    = log4net.LogManager.CreateRepository("NETCoreRepository");
            log4net.Config.XmlConfigurator.Configure(repository, new System.IO.FileInfo("Config/log4net.config"));
        }
Exemplo n.º 27
0
        public Program() :
            base
            (
                AddressFamily.InterNetwork,
                SocketType.Stream,
                ProtocolType.Tcp
            )
        {
            // Log Manager
            log4net.Repository.ILoggerRepository repository = LogManager.GetRepository();
            repository.Configured = true;

            // Console Log Setting
            ConsoleAppender consoleAppender = new ConsoleAppender();

            consoleAppender.Name = "Console";

            // Console Log Pattern
            consoleAppender.Layout = new PatternLayout("%d [%t] %-5p %c - %m%n");

            // File Log Pattern Setting
            RollingFileAppender rollingAppender = new RollingFileAppender();

            rollingAppender.Name         = "RollingFile";
            rollingAppender.AppendToFile = true;
            rollingAppender.DatePattern  = "-yyyy-MM-dd";
            rollingAppender.File         = "IOCPServerLog.log";
            rollingAppender.RollingStyle = RollingFileAppender.RollingMode.Date;

            // File Log Pattern
            rollingAppender.Layout = new PatternLayout("%d [%t] %-5p %c - %m%n");

            Hierarchy hierarchy = (Hierarchy)repository;

            hierarchy.Root.AddAppender(consoleAppender);
            hierarchy.Root.AddAppender(rollingAppender);
            rollingAppender.ActivateOptions();

            // Log Level Setting
            hierarchy.Root.Level = log4net.Core.Level.All;
            logger = LogManager.GetLogger(this.GetType());

            logger.Info("Server Started.");

            Bind(new IPEndPoint(IPAddress.Any, 10000));
            logger.Info("Server Bind (Port - 10000)");

            Listen(20); // Queue length - 20
            logger.Info("Server Listen Start (Queue length - 20)");

            AcceptAsync(new Server(this));
        }
Exemplo n.º 28
0
        /// <summary>
        /// 记录log4net日志
        /// </summary>
        /// <param name="type"></param>
        /// <param name="logLevel"></param>
        /// <param name="message"></param>
        /// <param name="folderName">The folderName<see cref="string"/></param>
        private static void RecoredLog4Net(Type type, Level logLevel, string message, string folderName = "")
        {
            LoadAppender(folderName);
            var respName = "NETCoreRepository";
            var name     = "";

            log4net.Repository.ILoggerRepository repository = null;
            try
            {
                repository = log4net.LogManager.GetRepository(respName);
                if (repository == null)
                {
                    repository = log4net.LogManager.CreateRepository(respName);
                }
                else
                {
                    repository.Exists(name);
                }
            }
            catch (Exception)
            {
                if (repository == null)
                {
                    repository = log4net.LogManager.CreateRepository(respName);
                }
            }

            XmlConfigurator.Configure(repository, new FileInfo("log4net.config"));

            var log = log4net.LogManager.GetLogger(respName, type.Name);

            if (logLevel == Level.Info && !DisableInfoLog)
            {
                log.Info(message);
            }
            else if (logLevel == Level.Error && !DisableErrorLog)
            {
                log.Error(message);
            }
            else if (logLevel == Level.Debug && !DisableDebugLog)
            {
                log.Debug(message);
            }
            else if (logLevel == Level.Warn && !DisableWarnLog)
            {
                log.Warn(message);
            }
            else if (logLevel == Level.Fatal && !DisableFatalLog)
            {
                log.Fatal(message);
            }
        }
Exemplo n.º 29
0
        static LogFactory()
        {
            //通过文件来配置
            log4net.Repository.ILoggerRepository repository = log4net.LogManager.CreateRepository("NetLogRepository");

            var fileInfo = new FileInfo(AppDomain.CurrentDomain.BaseDirectory + "Config/log4net.config");

            log4net.Config.XmlConfigurator.Configure(repository, fileInfo);

            log4net.Config.BasicConfigurator.Configure(repository);

            log4net.ILog log = log4net.LogManager.GetLogger(repository.Name, "NetLogRepository");
        }
Exemplo n.º 30
0
 /// <summary>
 /// Create the file name and sets the path. default path is bin/debug
 /// </summary>
 /// <param name="appenderName"></param>
 /// <param name="newFilename"></param>
 public static void CreateLogFile(string appenderName, string newFilename)
 {
     log4net.Repository.ILoggerRepository repository = LogManager.GetLoggerRepository();
     foreach (log4net.Appender.IAppender appender in repository.GetAppenders())
     {
         if (appender.Name.CompareTo(appenderName) == 0 && appender is log4net.Appender.FileAppender)
         {
             log4net.Appender.FileAppender fileAppender = (log4net.Appender.FileAppender)appender;
             fileAppender.File = System.IO.Path.Combine(fileAppender.File, newFilename);
             fileAppender.ActivateOptions();
         }
     }
 }
Exemplo n.º 31
0
		private void configService_ConfigFileChanged(object sender, ConfigFileChangedEventArgs e)
		{
			if (e.ConfigFileType == ConfigFileType.Log)
			{
				log4net.Repository.ILoggerRepository oldRepository = this.repository;
				ICustomLog oldLog4release = this.logger4release;
				ICustomLog oldLog4demo = this.logger4demo;

				log4net.Repository.ILoggerRepository newRepository = null;
				ICustomLog newLog4release = null;
				ICustomLog newLog4demo = null;

				lock (syncForRepository)
				{
					this.repository = null;
					this.logger4release = null;
					this.logger4demo = null;

					// 输出所有当前未输出日志然后关闭当前日志
					try
					{
						log4net.Appender.IAppender[] oldAppenders = oldRepository.GetAppenders();
						if (oldAppenders != null && oldAppenders.Length > 0)
						{
							for (int i = 0; i < oldAppenders.Length; i++)
							{
								if (oldAppenders[i] is log4net.Appender.BufferingAppenderSkeleton)
								{
									((log4net.Appender.BufferingAppenderSkeleton)oldAppenders[i]).Flush();
								}
							}
						}
					}
					catch{
					}
					finally
					{
						oldRepository.Shutdown();
					}

					// 创建新日志
					try
					{
						StringBuilder sb = new StringBuilder();

						newRepository = CustomLogManager.CreateRepository(Guid.NewGuid().ToString());

						log4net.Config.XmlConfigurator.Configure(newRepository, new FileInfo(AppDomain.CurrentDomain.MapPhysicalPath("conf\\log.config")));

						newLog4release = CustomLogManager.GetLogger(newRepository, "release");

						newLog4demo = CustomLogManager.GetLogger(newRepository, "demo");

						FormatConfigurationErrorMessages(sb, newRepository.ConfigurationMessages);

						if (sb.Length > 0) //出错时
						{
							sb.Insert(0, "在响应日志配置文件变化的过程中发生错误,仍将使用距变化发生时最近一次正确的配置。");

							// 输出 errorMessages
							LogUtil.LogToErrorLog(sb.ToString(), log4net.Core.Level.Error, LogCategory.Configuration, null);

							// 继续使用现有日志
							this.repository = null;
							this.logger4release = null;
							this.logger4demo = null;
						}
						else// 成功应用新配置时
						{
							// 应用新日志
							this.lastSuccessConfig = File.ReadAllText(AppDomain.CurrentDomain.MapPhysicalPath("conf\\log.config"));

							this.repository = newRepository;
							this.logger4release = newLog4release;
							this.logger4demo = newLog4demo;

							this.lock4loggers.EnterWriteLock();
							try
							{
								this.loggers.Clear();
							}
							finally
							{
								this.lock4loggers.ExitWriteLock();
							}
						}
					}
					catch (Exception err)
					{
						XMS.Core.Container.LogService.Warn("在响应日志配置文件变化的过程中发生错误,仍将使用距变化发生时最近一次正确的配置。", Logging.LogCategory.Configuration, err);

						if (newRepository != null)
						{
							try
							{
								newRepository.Shutdown();
							}
							catch { }
						}
					}
					finally
					{
						// 更新未成功,使用上次正确的日志配置重新初始化日志
						if (this.repository == null)
						{
							if(this.lastSuccessConfig != null)
							{
								this.repository = CustomLogManager.CreateRepository(Guid.NewGuid().ToString());
							
								using(MemoryStream stream = new MemoryStream(System.Text.Encoding.Default.GetBytes(this.lastSuccessConfig)))
								{
									log4net.Config.XmlConfigurator.Configure(this.repository,  stream);
								}

								this.logger4release = CustomLogManager.GetLogger(this.repository, "release");

								this.logger4demo = CustomLogManager.GetLogger(this.repository, "demo");
							}
							else
							{
								this.repository = oldRepository;
								this.logger4release = oldLog4release;
								this.logger4demo = oldLog4demo;
							}
						}
					}
				}
			}
		}