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 ConfigureEmptyLogging(
     LykkeLoggingOptions <T> options)
 {
     options.UseEmptyLogging();
 }