Ejemplo n.º 1
0
            public RegisteredLogger(ISyncEngineLogger logger, LoggingLevel maxLoggingLevel, int daysOfServiceHistoryToMaintain)
            {
                if (logger == null)
                {
                    throw new Exception("Logger can not be null.");
                }

                switch (maxLoggingLevel)
                {
                case LoggingLevel.ErrorsOnly:
                case LoggingLevel.ErrorsAndWarnings:
                case LoggingLevel.ErrorsWarningsAndInfo:
                case LoggingLevel.ErrorsWarningsInfoAndDebug:
                case LoggingLevel.ErrorsWarningsInfoDebugAndTrace:

                    MaxLoggingLevel = maxLoggingLevel;

                    break;

                default:
                    throw new EnumValueNotImplementedException <LoggingLevel>(maxLoggingLevel);
                }

                if (daysOfServiceHistoryToMaintain < -1)
                {
                    throw new Exception("Days of history to keep must be -1 or greater. Use -1 to indicate that logging should never be deleted.");
                }

                Logger = logger;

                MaxLoggingLevel = maxLoggingLevel;

                DaysOfServiceHistoryToMaintain = daysOfServiceHistoryToMaintain;
            }
Ejemplo n.º 2
0
        private static void RegisterLoggers()
        {
            SyncEngineLogger.ServiceLoggingLevel = _serviceConfig.LoggingLevel;

            // TODO: Add different configurable logging levels for database and text file
            if (_serviceConfig.LogToDatabase)
            {
                _databaseLogger = new DatabaseLogger(IntegrationDbConnectionString);
                SyncEngineLogger.RegisterLogger(_databaseLogger, LoggingLevel.ErrorsAndWarnings, _serviceConfig.DaysOfDatabaseLoggingHistory);
            }

            if (_serviceConfig.LogToFile)
            {
                _textFileLogger = new TextFileLogger(AppDomain.CurrentDomain.BaseDirectory + "\\Logs", _serviceConfig.MaxLogFileSizeInMB);
                SyncEngineLogger.RegisterLogger(_textFileLogger, _serviceConfig.LoggingLevel, _serviceConfig.DaysOfFileLoggingHistory);
            }
        }
Ejemplo n.º 3
0
        public static void RegisterLogger(ISyncEngineLogger logger, LoggingLevel maxLoggingLevel, int daysOfServiceHistoryToMaintain)
        {
            if (logger == null)
            {
                throw new Exception("Logger can not be null.");
            }

            var loggingLevel = maxLoggingLevel == LoggingLevel.InheritFromParent ? ServiceLoggingLevel : maxLoggingLevel;

            var loggerToRegister = new RegisteredLogger(logger, loggingLevel, daysOfServiceHistoryToMaintain);

            if (!registeredLoggers.Contains(loggerToRegister))
            {
                registeredLoggers.Add(loggerToRegister);
            }

            DeleteExpiredLoggerHistory(loggerToRegister);
        }
Ejemplo n.º 4
0
 public static bool DeregisterLogger(ISyncEngineLogger logger)
 {
     return(registeredLoggers.RemoveAll(d => d.Logger == logger) > 0 ? true : false);
 }