diff options
| author | LukePulverenti Luke Pulverenti luke pulverenti <LukePulverenti Luke Pulverenti luke.pulverenti@gmail.com> | 2012-09-11 14:20:12 -0400 |
|---|---|---|
| committer | LukePulverenti Luke Pulverenti luke pulverenti <LukePulverenti Luke Pulverenti luke.pulverenti@gmail.com> | 2012-09-11 14:20:12 -0400 |
| commit | 670a53258ef79ee92f578335577df4f768c9d7d4 (patch) | |
| tree | 0df702bea2189647defb9a11f9cd792d9410cfe4 /MediaBrowser.Common/Logging/ThreadedLogger.cs | |
| parent | 016590529f1dde1b2bcfa6c64aa07ea866f26b51 (diff) | |
Some minor code cleanups
Diffstat (limited to 'MediaBrowser.Common/Logging/ThreadedLogger.cs')
| -rw-r--r-- | MediaBrowser.Common/Logging/ThreadedLogger.cs | 73 |
1 files changed, 0 insertions, 73 deletions
diff --git a/MediaBrowser.Common/Logging/ThreadedLogger.cs b/MediaBrowser.Common/Logging/ThreadedLogger.cs deleted file mode 100644 index f53b3d426..000000000 --- a/MediaBrowser.Common/Logging/ThreadedLogger.cs +++ /dev/null @@ -1,73 +0,0 @@ -using System;
-using System.Collections.Generic;
-using System.Threading;
-
-namespace MediaBrowser.Common.Logging
-{
- public abstract class ThreadedLogger : BaseLogger
- {
- Thread loggingThread;
- Queue<Action> queue = new Queue<Action>();
- AutoResetEvent hasNewItems = new AutoResetEvent(false);
- volatile bool terminate = false;
- bool waiting = false;
-
- public ThreadedLogger()
- : base()
- {
- loggingThread = new Thread(new ThreadStart(ProcessQueue));
- loggingThread.IsBackground = true;
- loggingThread.Start();
- }
-
-
- void ProcessQueue()
- {
- while (!terminate)
- {
- waiting = true;
- hasNewItems.WaitOne(10000, true);
- waiting = false;
-
- Queue<Action> queueCopy;
- lock (queue)
- {
- queueCopy = new Queue<Action>(queue);
- queue.Clear();
- }
-
- foreach (var log in queueCopy)
- {
- log();
- }
- }
- }
-
- protected override void LogEntry(LogRow row)
- {
- lock (queue)
- {
- queue.Enqueue(() => AsyncLogMessage(row));
- }
- hasNewItems.Set();
- }
-
- protected abstract void AsyncLogMessage(LogRow row);
-
- protected override void Flush()
- {
- while (!waiting)
- {
- Thread.Sleep(1);
- }
- }
-
- public override void Dispose()
- {
- Flush();
- terminate = true;
- hasNewItems.Set();
- base.Dispose();
- }
- }
-}
|
