/// <summary> /// Add logic using settings specified by the end user /// </summary> /// <param name="builder">The application builder instance</param> /// <param name="action">An options builder action</param> /// <returns>The application builder instance</returns> /// <exception cref="ArgumentNullException"></exception> public static IApplicationBuilder UseLogly(this IApplicationBuilder builder, Action <LoggerOptionsBuilder> action) { if (builder == null) { throw new ArgumentNullException(nameof(builder)); } if (action == null) { throw new ArgumentNullException(nameof(action)); } var optionsBuilder = new LoggerOptionsBuilder(); action(optionsBuilder); Logly.LoggerOptions = optionsBuilder.Build(); return(builder.UseMiddleware <Logly>()); }
public static IServicesBuilder AddLogger(this IServicesBuilder builder, Action <ILoggerOptionsBuilder> loggerConfigurator) => builder.AddServices(services => { var loggerBuilder = new LoggerOptionsBuilder(services); loggerConfigurator.Invoke(loggerBuilder); }, ServiceType.Logger);