private static void SetupLog(IVostokCompositeLogBuilder logBuilder, UlearnConfiguration ulearnConfiguration) { var log = LoggerSetup.Setup(ulearnConfiguration.HostLog, ulearnConfiguration.GraphiteServiceName, false); logBuilder.AddLog(log); logBuilder.CustomizeLog(logCustomization => logCustomization.WithMinimumLevel(LogLevel.Debug)); const LogLevel minimumLevel = LogLevel.Info; var dbMinimumLevelString = ulearnConfiguration.HostLog.DbMinimumLevel ?? ""; if (!LoggerSetup.TryParseLogLevel(dbMinimumLevelString, out var dbMinimumLevel)) { dbMinimumLevel = minimumLevel; } var min = dbMinimumLevel > minimumLevel ? minimumLevel : dbMinimumLevel; logBuilder.SetupHerculesLog(herculesLogBuilder => { herculesLogBuilder.SetStream(ulearnConfiguration.Hercules.Stream); herculesLogBuilder.SetApiKeyProvider(() => ulearnConfiguration.Hercules.ApiKey); herculesLogBuilder.CustomizeLog(lb => lb .WithMinimumLevelForSourceContext("ULearnDb", dbMinimumLevel) // Database .WithMinimumLevel(min) ); }); }
private static void SetupHerculesSink(IVostokHerculesSinkBuilder sinkBuilder, UlearnConfiguration ulearnConfiguration) { if (ulearnConfiguration.Hercules == null || string.IsNullOrEmpty(ulearnConfiguration.Hercules.ApiKey)) { sinkBuilder.Disable(); return; } sinkBuilder.SetApiKeyProvider(() => ulearnConfiguration.Hercules.ApiKey); }
protected virtual void ConfigureServices(IServiceCollection services, IVostokHostingEnvironment hostingEnvironment) { services.AddLogging(builder => builder.AddVostok(hostingEnvironment.Log)); configuration = hostingEnvironment.SecretConfigurationProvider.Get <UlearnConfiguration>(hostingEnvironment.SecretConfigurationSource); services.Configure <UlearnConfiguration>(options => options.SetFrom(hostingEnvironment.SecretConfigurationProvider.Get <UlearnConfiguration>(hostingEnvironment.SecretConfigurationSource))); ConfigureDi(services); }
static ExerciseCheckerZipsCache() { configuration = ApplicationConfiguration.Read <UlearnConfiguration>(); isDisabled = configuration.ExerciseCheckerZipsCacheDisabled; if (isDisabled) { return; } cacheDirectory = GetCacheDirectory(); coursesLockedForDelete = new HashSet <string>(); courseToFileLocksNumber = new ConcurrentDictionary <string, int>(); cacheDirectory.EnsureExists(); }
private static void SetupLog(IVostokCompositeLogBuilder logBuilder, UlearnConfiguration ulearnConfiguration) { var log = LoggerSetup.Setup(ulearnConfiguration.HostLog, ulearnConfiguration.GraphiteServiceName, false); logBuilder.AddLog(log); logBuilder.CustomizeLog(logCustomization => logCustomization.WithMinimumLevel(LogLevel.Debug)); const LogLevel minimumLevel = LogLevel.Info; var dbMinimumLevelString = ulearnConfiguration.HostLog.DbMinimumLevel ?? ""; if (!LoggerSetup.TryParseLogLevel(dbMinimumLevelString, out var dbMinimumLevel)) dbMinimumLevel = minimumLevel; var min = dbMinimumLevel > minimumLevel ? minimumLevel : dbMinimumLevel; logBuilder.SetupHerculesLog(herculesLogBuilder => { herculesLogBuilder.SetStream(ulearnConfiguration.Hercules.Stream); herculesLogBuilder.SetApiKeyProvider(() => ulearnConfiguration.Hercules.ApiKey); herculesLogBuilder.CustomizeLog(lb => lb .DropEvents(LoggerSetup.FilterLogs) .SelectEvents(le => le.Level >= (LoggerSetup.IsDbSource(le) ? dbMinimumLevel : minimumLevel)) .WithMinimumLevel(min) ); }); }
static ExerciseStudentZipsCache() { configuration = ApplicationConfiguration.Read <UlearnConfiguration>(); }
public ErrorsBot(UlearnConfiguration configuration, MetricSender metricSender) { channel = configuration.Telegram?.Errors?.Channel; this.metricSender = metricSender; }