コード例 #1
0
        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)
                                                );
            });
        }
コード例 #2
0
ファイル: EnvironmentSetup.cs プロジェクト: samstikhin/Ulearn
		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);
		}
コード例 #3
0
ファイル: BaseApplication.cs プロジェクト: samstikhin/Ulearn
        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);
        }
コード例 #4
0
 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();
 }
コード例 #5
0
ファイル: EnvironmentSetup.cs プロジェクト: samstikhin/Ulearn
		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)
				);
			});
		}
コード例 #6
0
 static ExerciseStudentZipsCache()
 {
     configuration = ApplicationConfiguration.Read <UlearnConfiguration>();
 }
コード例 #7
0
 public ErrorsBot(UlearnConfiguration configuration, MetricSender metricSender)
 {
     channel           = configuration.Telegram?.Errors?.Channel;
     this.metricSender = metricSender;
 }