protected virtual void ConfigureLogging( LykkeLoggingOptions <T> options) { ConfigureLogging ( options, IsDebug ? LoggingMode.Debug : LoggingMode.Release ); }
protected virtual void ConfigureDebugLogging( LykkeLoggingOptions <T> options) { options.AzureTableName = GetLogsTableName(); options.AzureTableConnectionStringResolver = ResolveLogsConnString; options.Extended = extendedLogs => { extendedLogs.SetMinimumLevel(LogLevel.Debug); }; }
private static void ConfigureLogs <TAppSettings>(BlockchainIntegrationServiceOptions <TAppSettings> options, LykkeLoggingOptions <TAppSettings> logsOptions, LykkeServiceOptions <TAppSettings> lykkeSdkOptions) where TAppSettings : IAppSettings { if (options.HaveToDisableLogging) { logsOptions.UseEmptyLogging(); } else { if (string.IsNullOrWhiteSpace(options.LogsAzureTableName)) { throw new InvalidOperationException( $"{nameof(options)}.{nameof(options.LogsAzureTableName)} is required when logging is not disabled."); } if (options.LogsAzureTableConnectionStringResolver == null) { throw new InvalidOperationException( $"{nameof(options)}.{nameof(options.LogsAzureTableConnectionStringResolver)} is required when logging is not disabled."); } logsOptions.AzureTableName = options.LogsAzureTableName; logsOptions.AzureTableConnectionStringResolver = options.LogsAzureTableConnectionStringResolver; logsOptions.Extended = extendedLogs => { extendedLogs.AddAdditionalSlackChannel("BlockChainIntegration", channelOptions => { channelOptions.MinLogLevel = Microsoft.Extensions.Logging.LogLevel.Information; channelOptions.SpamGuard.DisableGuarding(); channelOptions.IncludeHealthNotifications(); }); extendedLogs.AddAdditionalSlackChannel("BlockChainIntegrationImportantMessages", channelOptions => { channelOptions.MinLogLevel = Microsoft.Extensions.Logging.LogLevel.Warning; channelOptions.SpamGuard.DisableGuarding(); channelOptions.IncludeHealthNotifications(); }); }; } options.Extended?.Invoke(lykkeSdkOptions); }
protected void ConfigureLogging( LykkeLoggingOptions <T> options, LoggingMode mode) { switch (mode) { case LoggingMode.Empty: ConfigureEmptyLogging(options); break; case LoggingMode.Debug: ConfigureDebugLogging(options); break; case LoggingMode.Release: ConfigureReleaseLogging(options); break; default: throw new ArgumentOutOfRangeException(nameof(mode), mode, null); } }
protected virtual void ConfigureReleaseLogging( LykkeLoggingOptions <T> options) { options.AzureTableName = GetLogsTableName(); options.AzureTableConnectionStringResolver = ResolveLogsConnString; options.Extended = extendedLogs => { extendedLogs.AddAdditionalSlackChannel("BlockChainIntegration", channelOptions => { channelOptions.MinLogLevel = LogLevel.Information; channelOptions.SpamGuard.DisableGuarding(); channelOptions.IncludeHealthNotifications(); }); extendedLogs.AddAdditionalSlackChannel("BlockChainIntegrationImportantMessages", channelOptions => { channelOptions.MinLogLevel = LogLevel.Warning; channelOptions.SpamGuard.DisableGuarding(); channelOptions.IncludeHealthNotifications(); }); }; }
protected void ConfigureEmptyLogging( LykkeLoggingOptions <T> options) { options.UseEmptyLogging(); }
protected override void ConfigureLogging(LykkeLoggingOptions <AppSettings <T> > options) { ConfigureLogging(options, LoggingMode.Empty); }