aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Common/Logging/ThreadedLogger.cs
diff options
context:
space:
mode:
authorLukePulverenti Luke Pulverenti luke pulverenti <LukePulverenti Luke Pulverenti luke.pulverenti@gmail.com>2012-09-11 14:20:12 -0400
committerLukePulverenti Luke Pulverenti luke pulverenti <LukePulverenti Luke Pulverenti luke.pulverenti@gmail.com>2012-09-11 14:20:12 -0400
commit670a53258ef79ee92f578335577df4f768c9d7d4 (patch)
tree0df702bea2189647defb9a11f9cd792d9410cfe4 /MediaBrowser.Common/Logging/ThreadedLogger.cs
parent016590529f1dde1b2bcfa6c64aa07ea866f26b51 (diff)
Some minor code cleanups
Diffstat (limited to 'MediaBrowser.Common/Logging/ThreadedLogger.cs')
-rw-r--r--MediaBrowser.Common/Logging/ThreadedLogger.cs73
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();
- }
- }
-}