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();
 }
Esempio n. 7
0
 protected override void ConfigureLogging(LykkeLoggingOptions <AppSettings <T> > options)
 {
     ConfigureLogging(options, LoggingMode.Empty);
 }