/// <inheritdoc /> public void Write(LogLevelName level, List <ILogEntry> entries) { var date = TimeProvider.Now; if (namer.ShouldUpdateFile(date)) { CreateSink(date); } sink.Write(level, entries); }
/// <summary> /// Initializes a new instance of <see cref="AsyncSingleFileSink"/>. /// </summary> /// <param name="formatter">Log formatter.</param> /// <param name="renderer">Renderer factory method.</param> /// <param name="logFilePath">Log file path.</param> /// <param name="encoding">File encoding. The default is UTF8.</param> /// <param name="bufferSize">Buffer size to be used. The default is 4096.</param> public AsyncSingleFileSink(ILogFormatter formatter, Func <IDataRenderer> renderer, string logFilePath, Encoding encoding = null, int bufferSize = 4096) { Formatter = formatter; this.renderer = renderer; sink = new FileSink(Formatter, renderer, logFilePath, encoding, bufferSize); asyncWriter = new AsyncWriter((level, entries) => { sink.Write(level, entries); }); asyncWriter.Start(); }