Пример #1
0
        private static void DeleteExpiredLoggerHistory(RegisteredLogger registeredLogger)
        {
            try
            {
                if (registeredLogger.DaysOfServiceHistoryToMaintain >= 0)
                {
                    registeredLogger.Logger.DeleteServiceHistory(registeredLogger.DaysOfServiceHistoryToMaintain);
                }
            }
            catch (Exception ex)
            {
                WriteExceptionToLog(ex);
            }

            foreach (var registeredIntegration in registeredIntegrations.Values)
            {
                try
                {
                    DeleteExpiredIntegrationHistory(registeredLogger, registeredIntegration);
                }
                catch (Exception ex)
                {
                    WriteExceptionToLog(ex);
                }
            }
        }
Пример #2
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);
        }
Пример #3
0
 private static void DeleteExpiredIntegrationHistory(RegisteredLogger registeredLogger, RegisteredIntegration registeredIntegration)
 {
     try
     {
         if (registeredLogger.Logger is DatabaseLogger && registeredIntegration.Integration.DaysOfDatabaseLoggingHistory >= 0)
         {
             registeredLogger.Logger.DeleteIntegrationHistory(registeredIntegration.Integration.Id, registeredIntegration.Integration.DaysOfDatabaseLoggingHistory);
         }
         else if (registeredLogger.Logger is TextFileLogger && registeredIntegration.Integration.DaysOfFileLoggingHistory >= 0)
         {
             registeredLogger.Logger.DeleteIntegrationHistory(registeredIntegration.Integration.Id, registeredIntegration.Integration.DaysOfFileLoggingHistory);
         }
         else
         {
             throw new NotImplementedException(string.Format("Logger of type '{0}' is not implemented.", registeredLogger.Logger.GetType().Name));
         }
     }
     catch (Exception ex)
     {
         WriteExceptionToLog(ex);
     }
 }