public ILogger Build()
 {
     _logStatementDispatcher = new AsyncLogStatementDispatcher(_sinks, _logStatementRenderer);
     return(new Logger(_logStatementDispatcher, _logStatementEnrichers));
 }
 /// <summary>
 /// Constructs a new <see cref="Logger"/>
 /// </summary>
 /// <param name="logStatementDispatcher">The log statement dispatcher <see cref="ILogStatementDispatcher"/></param>
 private Logger(ILogStatementDispatcher logStatementDispatcher, IList <ILogStatementEnricher> logStatementEnrichers = null)
 {
     _logStatementDispatcher = logStatementDispatcher;
     _logStatementEnrichers  = logStatementEnrichers;
 }
 /// <summary>
 /// Constructs a new <see cref="Logger"/>
 /// </summary>
 /// <param name="logStatementDispatcher">The log statement dispatcher <see cref="ILogStatementDispatcher"/></param>
 public Logger(ILogStatementDispatcher logStatementDispatcher)
 {
     _logStatementDispatcher = logStatementDispatcher;
 }