Exemple #1
0
        public static void RegisterIntegration(Integration integration)
        {
            // register integration
            var integrationLoggingLevel = integration.LoggingLevel == LoggingLevel.InheritFromParent ? ServiceLoggingLevel : integration.LoggingLevel;

            var integrationToRegister = new RegisteredIntegration(integration, integrationLoggingLevel);

            if (registeredIntegrations.ContainsKey(integration.Id))
            {
                registeredIntegrations[integration.Id] = integrationToRegister;
            }
            else
            {
                registeredIntegrations.Add(integration.Id, integrationToRegister);
            }

            // register jobs
            foreach (var job in integration.Jobs)
            {
                var jobLoggingLevel = job.LoggingLevel == LoggingLevel.InheritFromParent ? integrationLoggingLevel : job.LoggingLevel;

                var jobToRegister = new RegisteredJob(job, jobLoggingLevel);

                if (registeredIntegrations[integration.Id].RegisteredJobs.ContainsKey(job.Id))
                {
                    registeredIntegrations[integration.Id].RegisteredJobs[job.Id] = jobToRegister;
                }
                else
                {
                    registeredIntegrations[integration.Id].RegisteredJobs.Add(job.Id, jobToRegister);
                }
            }

            //DeleteExpiredIntegrationHistoryForAllLoggers(integrationToRegister);
        }
Exemple #2
0
 private static void DeleteExpiredIntegrationHistoryForAllLoggers(RegisteredIntegration registeredIntegration)
 {
     foreach (var registeredLogger in registeredLoggers)
     {
         try
         {
             DeleteExpiredIntegrationHistory(registeredLogger, registeredIntegration);
         }
         catch (Exception ex)
         {
             WriteExceptionToLog(ex);
         }
     }
 }
Exemple #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);
     }
 }