Exemple #1
0
 /// <summary>
 /// This Constructor will setup the logging manager based on the the Logging Targets passed in.
 /// </summary>
 /// <param name="loggingTargets">List of logging targets</param>
 /// <param name="backupFileLog">Failsafe backup log file in case logging to any targets throws exception</param>
 /// <param name="configuredTraceLevel">What trace level to log, e.g., Level2 logs Level2, and Level1</param>
 public LoggingMgr(List <ILoggingTarget> loggingTargets
                   , FileLog backupFileLog
                   , enumTraceLevel configuredTraceLevel)
 {
     InitLoggingTargets(loggingTargets);
     _configuredTraceLevel = configuredTraceLevel;
     _backupFileLog        = backupFileLog;
 }
Exemple #2
0
        /// <summary>
        /// Writes trace message to log.
        /// </summary>
        /// <param name="stopWatchStarted"></param>
        /// <param name="traceToken"></param>
        /// <param name="requiredTraceLevel"></param>
        public void Trace(Stopwatch stopWatchStarted
                          , string traceToken
                          , enumTraceLevel requiredTraceLevel)
        {
            string message = string.Format("Total Elapsed MSec: {0}; Token: {1}{2}"
                                           , stopWatchStarted.ElapsedMilliseconds
                                           , traceToken
                                           , Environment.NewLine);

            TraceMessage(message, requiredTraceLevel);
        }
Exemple #3
0
        /// <summary>
        /// This constructor will create a LoggingMgr that writes to the Windows Event Log and a backup file if that
        /// fails. It will verify the event source exists and the EventLogDirectory.
        /// If the directory does not exist, it will create it.
        /// If the source cannot be verified (due to insufficient privileges),
        /// an exception will be raised and thrown back to the caller containing
        /// the original exception for items with critical priority.
        /// </summary>
        /// <param name="logName">Name of the log to write to; e.g. Application</param>
        /// <param name="logSource">The source that will be registered to the log</param>
        /// <param name="eventLogDirectory">Directory to files containning messages that cannot be written to primary device</param>
        /// <param name="configuredTraceLevel">Trace level.</param>
        public LoggingMgr(string logName
                          , string logSource
                          , string eventLogDirectory
                          , enumTraceLevel configuredTraceLevel)
        {
            _backupFileLog        = new FileLog(logName, eventLogDirectory, enumEventPriority.All);
            _configuredTraceLevel = configuredTraceLevel;

            InitLoggingTargets(new List <ILoggingTarget>
            {
                new WindowsEventLog(logName, logSource, _backupFileLog, enumEventPriority.All)
            });
        }
Exemple #4
0
        private void TraceMessage(string Message
                                  , enumTraceLevel requiredTraceLevel)
        {
            if (requiredTraceLevel <= _configuredTraceLevel)
            {
                System.Diagnostics.Trace.Write(Message);
                WriteToLog(Message, EventLogEntryType.Information, enumEventPriority.Trace);

                if (TraceToWindow)
                {
                    _traceToWindowLog.Write(Message);
                }
            }
        }
Exemple #5
0
        /// <summary>
        /// Creates a LoggingMgr instance using the configuration values referred to by the given config key
        /// into the LoggingConfigurations section of the app.config file
        /// </summary>
        /// <param name="loggingConfigKey">Key into LoggingConfigurations section to obtain settings</param>
        public LoggingMgr(string loggingConfigKey)
        {
            _loggingKey = loggingConfigKey;
            _configuredOptions.AppendFormat("LogKey: {0}{1}", loggingConfigKey, Environment.NewLine);
            LoggingConfiguration loggingConfigSection
                = AppConfigMgr.GetSection <LoggingConfiguration>(LoggingConfiguration.ConfigSectionName);
            LoggingElement loggingConfig = loggingConfigSection.GetLoggingConfig(loggingConfigKey);

            _backupFileLog = new FileLog(loggingConfig.BackupLogFileName
                                         , loggingConfig.BackupLogFileDirectory
                                         , enumEventPriority.All);
            _configuredTraceLevel = GetTraceLevelFromString(loggingConfig.TraceLevel);
            _configuredOptions.AppendFormat("BackupLogFile: {0}{1}", loggingConfig.BackupLogFileName, Environment.NewLine);
            _configuredOptions.AppendFormat("BackupLogFileDir: {0}{1}", loggingConfig.BackupLogFileDirectory, Environment.NewLine);
            InitLoggingTargets(
                BuildLoggingTargetsFromConfig(_backupFileLog, loggingConfig));
        }
Exemple #6
0
 /// <summary>
 /// Writes trace message to log.
 /// </summary>
 /// <param name="startTime"></param>
 /// <param name="traceToken"></param>
 /// <param name="requiredTraceLevel"></param>
 public void Trace(DateTime startTime
                   , string traceToken
                   , enumTraceLevel requiredTraceLevel)
 {
     if (startTime != DateTime.MinValue)
     {
         TimeSpan duration = DateTime.Now - startTime;
         string   message  = string.Format("Total Min: {0}; Sec: {1}; MSec: {2}; Token: {3}{4}"
                                           , duration.TotalMinutes
                                           , duration.TotalSeconds
                                           , duration.TotalMilliseconds
                                           , traceToken
                                           , Environment.NewLine);
         TraceMessage(message, requiredTraceLevel);
     }
     else
     {
         TraceMessage(traceToken, requiredTraceLevel);
     }
 }
Exemple #7
0
 /// <summary>
 /// Writes trace message to log.
 /// </summary>
 /// <param name="traceToken"></param>
 /// <param name="requiredTraceLevel"></param>
 public void Trace(string traceToken, enumTraceLevel requiredTraceLevel)
 {
     Trace(DateTime.MinValue, traceToken, requiredTraceLevel);
 }