jirkapenzes / SimpleLogger

Simple Logger C#.NET
MIT License
94 stars 42 forks source link

not an issue, but this logger is not thread safe. #7

Open xklake opened 7 years ago

xklake commented 7 years ago

if you want to use it in mult-thread, you need make some change on code. i made a little change in publish function in FileLoggerHandler.cs private static ReaderWriterLockSlim _readWriteLock = new ReaderWriterLockSlim();

        _readWriteLock.EnterWriteLock();
        StreamWriter writer = null;

        try
        {
            // Append text to the file
            writer = new StreamWriter(File.Open(Path.Combine(_directory, _fileName), FileMode.Append)); 
            writer.WriteLine(_loggerFormatter.ApplyFormat(logMessage));
            writer.Close();
        }
        finally
        {
            // Release lock
            if(writer != null)
            {
                writer.Close();
            }

        }
        _readWriteLock.ExitWriteLock();
dptechdev commented 7 years ago

Can this get approved and implemented?

dptechdev commented 7 years ago

@xklake are you using this in production or just messing around?

maxvodo commented 7 years ago

Yep, @xklake are right. But SimpleLogger is a the only simple logger. But thing "tgis library is single threaded" must be in documentation (or README.md)