mirror of
https://github.com/jellyfin/jellyfin.git
synced 2025-12-23 09:14:45 +03:00
Moved discovery of loggers and weather providers to MEF. Also added support for third-party image processors, also discovered through MEF.
This commit is contained in:
parent
01a25c48a0
commit
8b7effd6ff
38
MediaBrowser.Common/Logging/TraceFileLogger.cs
Normal file
38
MediaBrowser.Common/Logging/TraceFileLogger.cs
Normal file
@@ -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());
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user