Exemplo n.º 1
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.º 2
0
        /// <summary>
        /// Invoked when the application is launched normally by the end user.  Other entry points
        /// will be used such as when the application is launched to open a specific file.
        /// </summary>
        /// <param name="e">Details about the launch request and process.</param>
        protected async override void OnLaunched(LaunchActivatedEventArgs e)
        {
            Frame rootFrame = Window.Current.Content as Frame;

            using (Stream configStream = await Windows.ApplicationModel.Package.Current.InstalledLocation.OpenStreamForReadAsync("log-config.xml"))
            {
                log4net.Repository.ILoggerRepository repository = log4net.LogManager.CreateRepository("myAppLogger");

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

                ILogger fileLogger = repository.GetLogger("myLog");
                fileLogger.Log(typeof(App), Level.Error, "this is a test in file", null);
                fileLogger.Log(typeof(App), Level.Error, "this is a test in file 02", null);
                fileLogger.Log(typeof(App), Level.Error, "this is a test in file 03", null);
            }


            // Do not repeat app initialization when the Window already has content,
            // just ensure that the window is active
            if (rootFrame == null)
            {
                // Create a Frame to act as the navigation context and navigate to the first page
                rootFrame = new Frame();

                rootFrame.NavigationFailed += OnNavigationFailed;

                if (e.PreviousExecutionState == ApplicationExecutionState.Terminated)
                {
                    //TODO: Load state from previously suspended application
                }

                // Place the frame in the current Window
                Window.Current.Content = rootFrame;
            }

            if (e.PrelaunchActivated == false)
            {
                if (rootFrame.Content == null)
                {
                    // When the navigation stack isn't restored navigate to the first page,
                    // configuring the new page by passing required information as a navigation
                    // parameter
                    rootFrame.Navigate(typeof(MainPage), e.Arguments);
                }
                // Ensure the current window is active
                Window.Current.Activate();
            }
        }
Exemplo n.º 3
0
        public void Logging(LogLevels level, string logger, string message)
        {
            bool bFound = false;

            foreach (Logger obj in _iLog)
            {
                if (logger == "all")
                {
                    switch (level)
                    {
                    case LogLevels.Fatal:
                        obj.appendFatalLog(message);
                        break;

                    case LogLevels.Error:
                        obj.appendErrorLog(message);
                        break;

                    case LogLevels.Warn:
                        obj.appendWarnLog(message);
                        break;

                    case LogLevels.Info:
                        obj.appendInfoLog(message);
                        break;

                    case LogLevels.Debug:
                        obj.appendDebugLog(message);
                        break;
                    }
                    bFound = true;
                }
                else if (logger == obj.Name)
                {
                    switch (level)
                    {
                    case LogLevels.Fatal:
                        obj.appendFatalLog(message);
                        break;

                    case LogLevels.Error:
                        obj.appendErrorLog(message);
                        break;

                    case LogLevels.Warn:
                        obj.appendWarnLog(message);
                        break;

                    case LogLevels.Info:
                        obj.appendInfoLog(message);
                        break;

                    case LogLevels.Debug:
                        obj.appendDebugLog(message);
                        break;
                    }

                    bFound = true;
                    break;
                }
            }

            if (bFound == false)
            {
                ILogger iLogger         = null;
                var     hierarchy       = (Hierarchy)_repository;
                Logger  newLogger       = null;
                var     rollingAppender = new RollingFileAppender();
                rollingAppender                   = new RollingFileAppender();
                rollingAppender.Name              = logger;
                rollingAppender.File              = $"{UtilitiesManager.PathInfo.Log}";
                rollingAppender.RollingStyle      = RollingFileAppender.RollingMode.Date;
                rollingAppender.DatePattern       = $"yyyy/MM/dd/'{rollingAppender.Name}.log'";
                rollingAppender.StaticLogFileName = false;
                rollingAppender.AppendToFile      = true;
                rollingAppender.Layout            = new PatternLayout("(%d) {%t} [%-5p] %m |%c|%n");
                rollingAppender.MaxFileSize       = 1024 * 1024 * 5;
                rollingAppender.Threshold         = Level.Info;
                rollingAppender.ActivateOptions();
                //hierarchy.Root.AddAppender(rollingAppender);
                iLogger = _repository.GetLogger(rollingAppender.Name);
                ((log4net.Repository.Hierarchy.Logger)iLogger).AddAppender(rollingAppender);
                ((log4net.Repository.Hierarchy.Logger)iLogger).Level = rollingAppender.Threshold;
                newLogger = new Logger(rollingAppender.Name);
                _iLog.Add(newLogger);
                this.Update();

                if (newLogger != null)
                {
                    switch (level)
                    {
                    case LogLevels.Fatal:
                        newLogger.appendFatalLog(message);
                        break;

                    case LogLevels.Error:
                        newLogger.appendErrorLog(message);
                        break;

                    case LogLevels.Warn:
                        newLogger.appendWarnLog(message);
                        break;

                    case LogLevels.Info:
                        newLogger.appendInfoLog(message);
                        break;

                    case LogLevels.Debug:
                        newLogger.appendDebugLog(message);
                        break;
                    }
                }
            }
        }
Exemplo n.º 4
0
        public LogManager()
        {
            _repository = log4net.LogManager.GetRepository();
            var hierarchy = (Hierarchy)_repository;

            _iLog = new ArrayList();

            string strFilePath;

            //strDirPath = @"C:\Luli Sense\";
            //strDirPath = PathInfo.Data;
            this.ParentPath = UtilitiesManager.PathInfo.Data;
            this.FileName   = "LogConfig.dat";
            DirectoryInfo dirInfo = new DirectoryInfo(this.ParentPath);

            if (dirInfo.Exists == false)
            {
                if (dirInfo != null)
                {
                    dirInfo.Create();
                }
            }
            strFilePath = this.ParentPath + this.FileName;

            ILogger iLogger = null;

            if (!File.Exists(strFilePath))
            {
                hierarchy.Root.Level = log4net.Core.Level.All;

                Logger newLogger = null;

                var rollingAppender = new RollingFileAppender();
                rollingAppender.Name         = "common";
                rollingAppender.File         = $"{UtilitiesManager.PathInfo.Log}";
                rollingAppender.RollingStyle = RollingFileAppender.RollingMode.Date;
                //rollingAppender.DatePattern = "'_" + rollingAppender.Name + "_'yyMMdd'.log'";
                rollingAppender.DatePattern       = $"yyyy/MM/dd/'{rollingAppender.Name}.log'";
                rollingAppender.StaticLogFileName = false;
                rollingAppender.AppendToFile      = true;
                rollingAppender.Layout            = new PatternLayout("(%d) {%t} [%-5p] %m |%c|%n");
                rollingAppender.MaxFileSize       = 1024 * 1024 * 5;
                rollingAppender.Threshold         = Level.Info;
                rollingAppender.ActivateOptions();
                //hierarchy.Root.AddAppender(rollingAppender);
                newLogger = new Logger(rollingAppender.Name);
                iLogger   = _repository.GetLogger(rollingAppender.Name);
                ((log4net.Repository.Hierarchy.Logger)iLogger).AddAppender(rollingAppender);
                ((log4net.Repository.Hierarchy.Logger)iLogger).Level = rollingAppender.Threshold;
                _iLog.Add(newLogger);

                rollingAppender                   = new RollingFileAppender();
                rollingAppender.Name              = "socket";
                rollingAppender.File              = $"{UtilitiesManager.PathInfo.Log}";
                rollingAppender.RollingStyle      = RollingFileAppender.RollingMode.Date;
                rollingAppender.DatePattern       = $"yyyy/MM/dd/'{rollingAppender.Name}.log'";
                rollingAppender.StaticLogFileName = false;
                rollingAppender.AppendToFile      = true;
                rollingAppender.Layout            = new PatternLayout("(%d) {%t} [%-5p] %m |%c|%n");
                rollingAppender.MaxFileSize       = 1024 * 1024 * 5;
                rollingAppender.Threshold         = Level.Info;
                rollingAppender.ActivateOptions();
                //hierarchy.Root.AddAppender(rollingAppender);
                newLogger = new Logger(rollingAppender.Name);
                iLogger   = _repository.GetLogger(rollingAppender.Name);
                ((log4net.Repository.Hierarchy.Logger)iLogger).AddAppender(rollingAppender);
                ((log4net.Repository.Hierarchy.Logger)iLogger).Level = rollingAppender.Threshold;
                _iLog.Add(newLogger);

                rollingAppender                   = new RollingFileAppender();
                rollingAppender.Name              = "database";
                rollingAppender.File              = $"{UtilitiesManager.PathInfo.Log}";
                rollingAppender.RollingStyle      = RollingFileAppender.RollingMode.Date;
                rollingAppender.DatePattern       = $"yyyy/MM/dd/'{rollingAppender.Name}.log'";
                rollingAppender.StaticLogFileName = false;
                rollingAppender.AppendToFile      = true;
                rollingAppender.Layout            = new PatternLayout("(%d) {%t} [%-5p] %m |%c|%n");
                rollingAppender.MaxFileSize       = 1024 * 1024 * 5;
                rollingAppender.Threshold         = Level.Info;
                rollingAppender.ActivateOptions();
                //hierarchy.Root.AddAppender(rollingAppender);
                newLogger = new Logger(rollingAppender.Name);
                iLogger   = _repository.GetLogger(rollingAppender.Name);
                ((log4net.Repository.Hierarchy.Logger)iLogger).AddAppender(rollingAppender);
                ((log4net.Repository.Hierarchy.Logger)iLogger).Level = rollingAppender.Threshold;
                _iLog.Add(newLogger);

                this.Update(true);
            }
            else
            {
                XmlConfigurator.Configure(new System.IO.FileInfo(strFilePath));

                IAppender[] appenders = hierarchy.GetAppenders();
                foreach (IAppender obj in appenders)
                {
                    if (obj.Name != "")
                    {
                        _iLog.Add(new Logger(obj.Name));
                    }
                }
            }
            XmlConfigurator.ConfigureAndWatch(new FileInfo(strFilePath));

            _repository.Configured = true;
        }
Exemplo n.º 5
0
 protected override void InternalLog(Type callerDeclaredType, LogLevel logLevel, object message, Exception exception)
 {
     _loggerRepository.GetLogger(callerDeclaredType.Name).Log(callerDeclaredType, _logLevelMapping[logLevel], message, exception);
 }