diff --git a/src/Serilog.Sinks.File/Sinks/File/FileSink.cs b/src/Serilog.Sinks.File/Sinks/File/FileSink.cs index 610f9e7..443519a 100644 --- a/src/Serilog.Sinks.File/Sinks/File/FileSink.cs +++ b/src/Serilog.Sinks.File/Sinks/File/FileSink.cs @@ -93,7 +93,13 @@ public void Emit(LogEvent logEvent) } /// - public void Dispose() => _output.Dispose(); + public void Dispose() + { + lock (_syncRoot) + { + _output.Dispose(); + } + } /// public void FlushToDisk() diff --git a/src/Serilog.Sinks.File/Sinks/File/SharedFileSink.cs b/src/Serilog.Sinks.File/Sinks/File/SharedFileSink.cs index 113f608..bbb5142 100644 --- a/src/Serilog.Sinks.File/Sinks/File/SharedFileSink.cs +++ b/src/Serilog.Sinks.File/Sinks/File/SharedFileSink.cs @@ -146,7 +146,13 @@ public void Emit(LogEvent logEvent) /// - public void Dispose() => _fileOutput.Dispose(); + public void Dispose() + { + lock (_syncRoot) + { + _fileOutput.Dispose(); + } + } /// public void FlushToDisk()