diff --git a/SimpleLogger/Logging/Handlers/FileLoggerHandler.cs b/SimpleLogger/Logging/Handlers/FileLoggerHandler.cs index 72d04ef..a720917 100644 --- a/SimpleLogger/Logging/Handlers/FileLoggerHandler.cs +++ b/SimpleLogger/Logging/Handlers/FileLoggerHandler.cs @@ -26,7 +26,7 @@ public FileLoggerHandler(ILoggerFormatter loggerFormatter, string fileName, stri _fileName = fileName; _directory = directory; } - + private static readonly object Sync = new object(); public void Publish(LogMessage logMessage) { if (!string.IsNullOrEmpty(_directory)) @@ -35,9 +35,11 @@ public void Publish(LogMessage logMessage) if (!directoryInfo.Exists) directoryInfo.Create(); } - - using (var writer = new StreamWriter(File.Open(Path.Combine(_directory, _fileName), FileMode.Append))) + lock (Sync) + { + using (var writer = new StreamWriter(File.Open(Path.Combine(_directory, _fileName), FileMode.Append))) writer.WriteLine(_loggerFormatter.ApplyFormat(logMessage)); + } } private static string CreateFileName()