/// <summary> /// Initialize instance /// </summary> /// <param name="configuration"></param> private void SetupCommunicationLogger(SerilogConfiguration configuration) { this.SerilogConfiguration = configuration ?? new SerilogConfiguration(); this.SerilogConfiguration.Logger = configuration?.Logger ?? Log.Logger; }
/// <summary> /// Constructor with configuration /// </summary> /// <param name="logger"></param> public CommunicationLogger(SerilogConfiguration configuration) { this.SetupCommunicationLogger(configuration); }
public static void SetupSerilog(this IServiceCollection services, SerilogConfiguration configuration) { services.AddScoped(provider => new LogAdditionalInfo(provider.GetService <IHttpContextAccessor>())); services.AddSingleton <ICommunicationLogger>((provider) => new CommunicationLogger(configuration)); }