From 8b7effd6ff1694688e93d03a48c5dcddb4efe4f0 Mon Sep 17 00:00:00 2001 From: LukePulverenti Luke Pulverenti luke pulverenti Date: Tue, 18 Sep 2012 15:33:57 -0400 Subject: Moved discovery of loggers and weather providers to MEF. Also added support for third-party image processors, also discovered through MEF. --- MediaBrowser.Common/Logging/TraceFileLogger.cs | 38 ++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 MediaBrowser.Common/Logging/TraceFileLogger.cs (limited to 'MediaBrowser.Common/Logging/TraceFileLogger.cs') 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()); + } + } +} -- cgit v1.2.3