private void Run() { System.IO.StreamWriter logFile = new System.IO.StreamWriter(LogFileName); while (ContinueThread || !LogQueue.IsEmpty) { string message; if (!LogQueue.IsEmpty && LogQueue.TryDequeue(out message)) { if (PrintToConsole) { Console.WriteLine(message); } if (WriteToFile) { logFile.WriteLine(message); logFile.Flush(); } } else { Thread.Sleep(50); } } }
private void ProcessIncoming() { while (true) { LogEntry entry; if (!incoming.TryDequeue(out entry)) { break; } foreach (var writer in Writers) { writer.Write(entry); } } }