Example #1
0
        /// <summary>
        /// Setup the error log.
        /// </summary>
        private void SetupErrorLog()
        {
            Hierarchy hierarchy = (Hierarchy)log4net.LogManager.GetRepository();

            hierarchy.Root.RemoveAllAppenders(); /*Remove any other appenders*/

            //RollingFileAppender rollingFileAppender = new RollingFileAppender();
            //rollingFileAppender.AppendToFile = true;
            //rollingFileAppender.LockingModel = new FileAppender.MinimalLock();
            //rollingFileAppender.File = Pulse.Commons.GetErrorLogPath();
            //rollingFileAppender.MaxFileSize = 1048576 * 1;  // 1mb
            //rollingFileAppender.MaxSizeRollBackups = 1;
            //rollingFileAppender.StaticLogFileName = true;
            //PatternLayout pl = new PatternLayout();
            //pl.ConversionPattern = "%-5level %date [%thread] %-22.22c{1} - %m%n";
            //pl.ActivateOptions();
            //rollingFileAppender.Layout = pl;
            //rollingFileAppender.ActivateOptions();
            //log4net.Config.BasicConfigurator.Configure(rollingFileAppender);

            FileAppender fileAppender = new FileAppender();

            fileAppender.AppendToFile = true;
            fileAppender.LockingModel = new FileAppender.MinimalLock();
            fileAppender.File         = Pulse.Commons.GetErrorLogPath();
            PatternLayout pl              = new PatternLayout();
            string        pulseVer        = Pulse.Version.VERSION + Pulse.Version.VERSION_ADDITIONAL;
            string        pulseDisplayVer = PulseDisplay.Version.VERSION + PulseDisplay.Version.VERSION_ADDITIONAL;
            string        rtiVer          = Core.Commons.VERSION + Core.Commons.RTI_VERSION_ADDITIONAL;

            pl.ConversionPattern = "%d [%2%t] %-5p [%-10c] Pulse:" + pulseVer + " RTI:" + rtiVer + "   %m%n%n";
            pl.ActivateOptions();

            // If not Admin
            // Only log Error and Fatal errors
            if (!Pulse.Commons.IsAdmin())
            {
                fileAppender.AddFilter(new log4net.Filter.LevelMatchFilter()
                {
                    LevelToMatch = log4net.Core.Level.Error
                });                                                                                                                 // Log Error
                fileAppender.AddFilter(new log4net.Filter.LevelMatchFilter()
                {
                    LevelToMatch = log4net.Core.Level.Fatal
                });                                                                                                                 // Log Fatal
                fileAppender.AddFilter(new log4net.Filter.DenyAllFilter());                                                         // Reject all other errors
            }

            fileAppender.Layout = pl;
            fileAppender.ActivateOptions();
            log4net.Config.BasicConfigurator.Configure(fileAppender);
        }
Example #2
0
        public CustomLogger(string path, string prefix, Level minLevel, Level maxLevel)
        {
            this.string_0 = prefix;
            this.level_0  = minLevel ?? Level.All;
            this.level_1  = maxLevel ?? Level.Emergency;
            Directory.CreateDirectory(path);
            PatternLayout layout = new PatternLayout("%-4utcdate [%thread] %-5level %logger{1} %ndc - %message%newline");
            DateTime      now    = DateTime.Now;

            object[] args = new object[] { now.Year, now.Month, now.Day, now.Hour, now.Minute, Process.GetCurrentProcess().Id, path, this.string_0 };
            this.FileName = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), string.Format(@"{6}\{7} {5} {0:0000}-{1:00}-{2:00} {3:00}.{4:00}.txt", args));
            FileAppender newAppender = new FileAppender {
                File         = this.FileName,
                Layout       = layout,
                LockingModel = new FileAppender.MinimalLock()
            };
            LevelRangeFilter filter = new LevelRangeFilter {
                LevelMin      = this.level_0,
                LevelMax      = this.level_1,
                AcceptOnMatch = true
            };

            newAppender.AddFilter(filter);
            layout.ActivateOptions();
            newAppender.ActivateOptions();
            AsyncAppender appender2 = new AsyncAppender();

            appender2.AddAppender(newAppender);
            appender2.ActivateOptions();
            log4net.Repository.Hierarchy.Hierarchy hierarchy1 = (log4net.Repository.Hierarchy.Hierarchy)LogManager.CreateRepository(this.string_0);
            hierarchy1.Root.AddAppender(appender2);
            hierarchy1.Configured = true;
        }
Example #3
0
        // Create a new file appender
        public static void ConfigureLog4net(string name, string fileName)
        {
            PatternLayout layout = new PatternLayout("%date{yyyy-MM-dd HH:mm:ss,fff} %-5level [%thread]: %message%newline");

            layout.ActivateOptions();

            LevelMatchFilter filter = new LevelMatchFilter();

            filter.LevelToMatch = Level.All;
            filter.ActivateOptions();

            var appender = new FileAppender();

            appender.Name         = name;
            appender.File         = fileName;
            appender.AppendToFile = false;

            appender.Layout = layout;
            appender.AddFilter(filter);
            appender.ActivateOptions();

            ILoggerRepository repository = LoggerManager.CreateRepository(name);

            BasicConfigurator.Configure(repository, appender);
        }
Example #4
0
        /// <summary>
        /// Setup the error log.
        /// </summary>
        private void SetupErrorLog()
        {
            bool isAdmin = false;

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

            hierarchy.Root.RemoveAllAppenders(); /*Remove any other appenders*/

            FileAppender fileAppender = new FileAppender();

            fileAppender.AppendToFile = true;
            fileAppender.LockingModel = new FileAppender.MinimalLock();
            fileAppender.File         = @"C:\RTI_Capture\ExporterErrorLog.log";
            PatternLayout pl       = new PatternLayout();
            string        pulseVer = System.Reflection.Assembly.GetEntryAssembly().GetName().Version.ToString();
            //string rtiVer = System.Reflection.Assembly.LoadFrom("RTI.dll").GetName().Version.ToString();
            string rtiVer = "";

            pl.ConversionPattern = "%d [%2%t] %-5p [%-10c] Pulse:" + pulseVer + " RTI:" + rtiVer + "   %m%n%n";
            pl.ActivateOptions();

            // If not Admin
            // Only log Error and Fatal errors
            if (!isAdmin)
            {
                fileAppender.AddFilter(new log4net.Filter.LevelMatchFilter()
                {
                    LevelToMatch = log4net.Core.Level.Error
                });                                                                                                                 // Log Error
                fileAppender.AddFilter(new log4net.Filter.LevelMatchFilter()
                {
                    LevelToMatch = log4net.Core.Level.Fatal
                });                                                                                                                 // Log Fatal
                fileAppender.AddFilter(new log4net.Filter.DenyAllFilter());                                                         // Reject all other errors
            }

            fileAppender.Layout = pl;
            fileAppender.ActivateOptions();
            log4net.Config.BasicConfigurator.Configure(fileAppender);
        }
Example #5
0
        /// <summary>
        ///     Creates the appender.
        /// </summary>
        /// <param name="name">The name.</param>
        /// <param name="file">The file.</param>
        /// <param name="logLevel">The log level.</param>
        /// <returns>
        ///     Returns a <see cref="IAppender" /> representing the appender.
        /// </returns>
        protected virtual FileAppender CreateAppender(string name, string file, LogLevel logLevel)
        {
            PatternLayout layout = new PatternLayout("%date{yyyy-MM-dd hh:mm:ss tt} - [%level]: %message%newline%exception");

            LevelMatchFilter filter = new LevelMatchFilter();

            filter.LevelToMatch = logLevel.ToLevel();
            filter.ActivateOptions();

            var appender = new FileAppender();

            appender.Name           = name;
            appender.File           = file;
            appender.ImmediateFlush = true;
            appender.AppendToFile   = _FileMode == FileMode.Append;
            appender.LockingModel   = new FileAppender.MinimalLock();
            appender.AddFilter(filter);
            appender.Layout = layout;
            appender.ActivateOptions();

            return(appender);
        }
Example #6
0
        internal static void ReconfigureLogger()
        {
            string logFile = Path.Combine(AppSettings.AppSettingsPath, "ErrorLog.xml");

            if (Log.Logger.Repository.Configured)
            {
                Log.Logger.Repository.Shutdown();
                Log.Logger.Repository.ResetConfiguration();
            }

            if (_clearLog)
            {
                try
                {
                    File.Delete(logFile);
                }
// ReSharper disable EmptyGeneralCatchClause
                catch (Exception)
// ReSharper restore EmptyGeneralCatchClause
                {
                }
                _clearLog = false;
            }

            PatternLayout    layout = new PatternLayout();
            LevelRangeFilter filter = new LevelRangeFilter();

            if (AppSettings.UseDebug)
            {
                layout.ConversionPattern = "%date{HH:mm:ss} [%thread] %-5level %logger.%method(%line) - %message%newline";

                filter.LevelMin = Level.All;
            }
            else
            {
                layout.ConversionPattern = "%date{HH:mm:ss} %-5level %logger - %message%newline";

                filter.LevelMin = Level.Warn;
            }

            filter.AcceptOnMatch = true;

            layout.ActivateOptions();

            XmlLayoutSchemaLog4j xmlLayout    = new XmlLayoutSchemaLog4j(true);
            RollingFileAppender  fileAppender = new RollingFileAppender
            {
                PreserveLogFileNameExtension = true,
                StaticLogFileName            = false,
                DatePattern    = "yyyyMMdd",
                RollingStyle   = RollingFileAppender.RollingMode.Date,
                ImmediateFlush = true,
                File           = logFile,
                Encoding       = new UTF8Encoding(true),
                Layout         = xmlLayout
            };

            fileAppender.AddFilter(filter);
            fileAppender.ActivateOptions();

            FileAppender file = new FileAppender
            {
                Layout         = layout,
                AppendToFile   = true,
                Encoding       = new UTF8Encoding(),
                File           = logFile,
                ImmediateFlush = true
            };

            file.AddFilter(filter);

            file.ActivateOptions();

            BasicConfigurator.Configure(fileAppender);

            if (AppSettings.UseDebug)
            {
                Log.Info("Debug information enabled");
            }
        }
        /// <summary>
        /// This method is used to set up the log4net configuration files that will log the application.
        /// </summary>
        /// <param name="fileName">The name of the informatoin file.</param>
        private static void Setup(string fileName)
        {
            string logFilePath = "../../../Logs/";

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

            PatternLayout patternLayoutTC = new PatternLayout();

            patternLayoutTC.ConversionPattern = "%date [%level] - %message%newline";
            patternLayoutTC.ActivateOptions();

            RollingFileAppender testCaseRoller = new RollingFileAppender();

            testCaseRoller.AppendToFile       = false;
            testCaseRoller.File               = string.Format("{0}logfile-{1}-{2}.log", logFilePath, fileName, DateTime.Now.ToString("HHmm-MMdd-yyyy"));
            testCaseRoller.Layout             = patternLayoutTC;
            testCaseRoller.DatePattern        = "HH-MMdd-yyyy";
            testCaseRoller.MaxSizeRollBackups = -1;
            testCaseRoller.MaximumFileSize    = "1MB";
            testCaseRoller.RollingStyle       = RollingFileAppender.RollingMode.Composite;

            var filterTC = new log4net.Filter.LevelRangeFilter
            {
                LevelMin = Level.Debug,
                LevelMax = Level.Warn
            };

            testCaseRoller.AddFilter(filterTC);
            testCaseRoller.ActivateOptions();
            hierarchy.Root.AddAppender(testCaseRoller);


            PatternLayout ErrorPatternLayout = new PatternLayout();

            ErrorPatternLayout.ConversionPattern = "%date [%level] %logger - message: %message%newline%newline";
            ErrorPatternLayout.ActivateOptions();

            FileAppender ErrorFiles = new FileAppender();

            ErrorFiles.File         = string.Format("{0}ErrorLogFile.log", logFilePath);
            ErrorFiles.AppendToFile = true;
            ErrorFiles.LockingModel = new FileAppender.MinimalLock();
            ErrorFiles.Layout       = ErrorPatternLayout;

            var filter = new log4net.Filter.LevelRangeFilter
            {
                LevelMin = Level.Error,
                LevelMax = Level.Fatal
            };

            ErrorFiles.AddFilter(filter);
            ErrorFiles.ActivateOptions();
            hierarchy.Root.AddAppender(ErrorFiles);

            MemoryAppender memory = new MemoryAppender();

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

            hierarchy.Root.Level = Level.All;
            hierarchy.Configured = true;
        }