aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Common/Logging/TraceFileLogger.cs
diff options
context:
space:
mode:
authorLukePulverenti Luke Pulverenti luke pulverenti <LukePulverenti Luke Pulverenti luke.pulverenti@gmail.com>2012-09-18 15:33:57 -0400
committerLukePulverenti Luke Pulverenti luke pulverenti <LukePulverenti Luke Pulverenti luke.pulverenti@gmail.com>2012-09-18 15:33:57 -0400
commit8b7effd6ff1694688e93d03a48c5dcddb4efe4f0 (patch)
tree28f2e6af0ded4cefa56bd15a963a213359cd852c /MediaBrowser.Common/Logging/TraceFileLogger.cs
parent01a25c48a0c5718c40456c48e311e6c0955f7791 (diff)
Moved discovery of loggers and weather providers to MEF. Also added support for third-party image processors, also discovered through MEF.
Diffstat (limited to 'MediaBrowser.Common/Logging/TraceFileLogger.cs')
-rw-r--r--MediaBrowser.Common/Logging/TraceFileLogger.cs38
1 files changed, 38 insertions, 0 deletions
diff --git a/MediaBrowser.Common/Logging/TraceFileLogger.cs b/MediaBrowser.Common/Logging/TraceFileLogger.cs
new file mode 100644
index 000000000..7ab67a137
--- /dev/null
+++ b/MediaBrowser.Common/Logging/TraceFileLogger.cs
@@ -0,0 +1,38 @@
+using MediaBrowser.Common.Kernel;
+using System;
+using System.ComponentModel.Composition;
+using System.Diagnostics;
+using System.IO;
+
+namespace MediaBrowser.Common.Logging
+{
+ [Export(typeof(BaseLogger))]
+ public class TraceFileLogger : BaseLogger
+ {
+ private TraceListener Listener { get; set; }
+
+ public override void Initialize(IKernel kernel)
+ {
+ DateTime now = DateTime.Now;
+
+ string logFilePath = Path.Combine(kernel.ApplicationPaths.LogDirectoryPath, "log-" + now.ToString("dMyyyy") + "-" + now.Ticks + ".log");
+
+ Listener = new TextWriterTraceListener(logFilePath);
+ Trace.Listeners.Add(Listener);
+ Trace.AutoFlush = true;
+ }
+
+ public override void Dispose()
+ {
+ base.Dispose();
+
+ Trace.Listeners.Remove(Listener);
+ Listener.Dispose();
+ }
+
+ public override void LogEntry(LogRow row)
+ {
+ Trace.WriteLine(row.ToString());
+ }
+ }
+}