Esempio n. 1
0
        /// <summary>
        /// Ensures log level, log target configuration
        /// </summary>
        /// <param name="log"></param>
        /// <param name="args"></param>
        private static void EnsureLoggerConfiguration(Logger log, ProgramStartupParameters psp)
        {
            if (log == null)
            {
                throw new ArgumentNullException("log");
            }
            if (psp == null)
            {
                throw new ArgumentNullException("psp");
            }

            if (psp.ConsoleLoggingEnabled)
            {
                log.EnableConsoleLogging();
            }
            if (psp.FileLoggingEnabled)
            {
                try
                {
                    log.EnableFileLogging(psp.LogFileName);
                }
                catch (UnauthorizedAccessException)
                {
                    Program.Exit(ExitCodes.LOG_FILE_ACCESS_DENIED);
                }
                catch (Exception)
                {
                    Program.Exit(ExitCodes.LOG_FILE_CREATE_ERROR);
                }
            }
            if (psp.EventLoggingEnabled)
            {
                try
                {
                    log.EnableEventLogLogging("RunAsUser");
                }
                catch (SecurityException)
                {
                    Program.Exit(ExitCodes.LOG_EVENTLOG_ACCESS_DENIED);
                }
                catch (Exception)
                {
                    Program.Exit(ExitCodes.LOG_EVENTLOG_CREATE_ERROR);
                }
            }

            log.Level = psp.LogLevel;
        }
Esempio n. 2
0
 /// <summary>
 /// Initializes all current loggers and all further loggers with the startup parameters.
 /// </summary>
 /// <param name="parameters"></param>
 public static void InitConfiguration(ProgramStartupParameters parameters)
 {
     if (LogFactory.parameters == null)
     {
         lock (lockMutex)
             if (LogFactory.parameters == null)
             {
                 LogFactory.parameters = parameters;
                 if (registeredLoggers.Count > 0)
                 {
                     foreach (Logger registeredLogger in registeredLoggers.Values)
                     {
                         EnsureLoggerConfiguration(registeredLogger, parameters);
                     }
                 }
             }
     }
 }