/// <summary> /// Remove all log-providers and add FluentMigratorConsoleLoggerProvider if enabled by configuration /// </summary> /// <param name="loggingBuilder"></param> /// <param name="configuration"></param> /// <returns></returns> public static ILoggingBuilder AddFluentMigratorConsoleLogger( this ILoggingBuilder loggingBuilder, IConfiguration configuration = null) { configuration = GetConfiguration(loggingBuilder, configuration); string disabledReason = null; if (configuration == null || !configuration.IsMigrationConsoleLogEnabledInternal(out disabledReason)) { disabledReason = disabledReason ?? "by missing configuration"; loggingBuilder.Services.RemoveFluentMigratorLoggerOptions(); loggingBuilder.Services.Remove(new ServiceDescriptor(typeof(ILoggerProvider), typeof(FluentMigratorConsoleLoggerProvider))); if (MigrationConsoleLoggingDisabledReported == false) { MigrationConsoleLoggingDisabledReported = true; Console.ForegroundColor = ConsoleColor.DarkGray; Console.WriteLine($"Migration Console logging is turned off {disabledReason}"); Console.ResetColor(); } return(loggingBuilder); } var options = new FluentMigratorLoggerOptions { ShowSql = configuration.IsMigrationConsoleLogShowSqlEnabled(), ShowElapsedTime = configuration.IsMigrationLogConsoleShowElapsedTimeEnabled() }; return(loggingBuilder.AddFluentMigratorConsoleLogger(options)); }
/// <summary> /// Remove all log-providers and add FluentMigratorConsoleLoggerProvider if enabled by configuration /// </summary> /// <param name="loggingBuilder"></param> /// <param name="configuration"></param> /// <returns></returns> public static ILoggingBuilder AddFluentMigratorConsoleLogger( this ILoggingBuilder loggingBuilder, IConfiguration configuration = null) { configuration = GetConfiguration(loggingBuilder, configuration); if (configuration == null || !configuration.IsMigrationConsoleLogEnabled()) { return(loggingBuilder); } var options = new FluentMigratorLoggerOptions { ShowSql = configuration.IsMigrationLogShowSqlEnabled(), ShowElapsedTime = configuration.IsMigrationLogShowElapsedTimeEnabled() }; return(loggingBuilder.AddFluentMigratorConsoleLogger(options, true)); }
public static ILoggingBuilder AddFluentMigratorConsoleLogger( this ILoggingBuilder loggingBuilder, IConfiguration configuration = null) { configuration = GetConfiguration(loggingBuilder, configuration); if (configuration == null || !configuration.IsConsoleLogEnabled()) { return(loggingBuilder); } loggingBuilder.ClearProviders(); var options = new FluentMigratorLoggerOptions { ShowSql = configuration.IsMigrationLogShowSqlEnabled(), ShowElapsedTime = configuration.IsMigrationLogShowElapsedTimeEnabled() }; loggingBuilder.Services.AddSingleton <IOptions <FluentMigratorLoggerOptions> >(new OptionsWrapper <FluentMigratorLoggerOptions>(options)); return(loggingBuilder.AddFluentMigratorConsoleLogger(options)); }