private void DumpLogToFile_() { while (IsOpen) { waitHandle_.WaitOne(2000); if (FilePath == null) { continue; } if (queue_.Count > 0) { string[] logLines; lock (queue_) { logLines = queue_.ToArray(); queue_.Clear(); } lock (FilePath) { FileUtils.AppendToTextFile(FilePath, logLines); } Thread.Sleep(1000); } } }