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) ); }); }
/// <summary> /// Enables file log. /// </summary> public static IVostokCompositeLogBuilder SetupFileLog([NotNull] this IVostokCompositeLogBuilder builder) => builder.SetupFileLog( fileLogBuilder => { fileLogBuilder.CustomizeSettings( settings => { settings.RollingStrategy.Type = RollingStrategyType.ByTime; settings.RollingStrategy.Period = RollingPeriod.Day; }); });
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) ); }); }
/// <summary> /// Enables console log. /// </summary> public static IVostokCompositeLogBuilder SetupConsoleLog([NotNull] this IVostokCompositeLogBuilder builder) => builder.SetupConsoleLog(_ => { });