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()