Add logging

This commit is contained in:
KZ
2015-07-19 22:31:36 +01:00
parent eaa4d0eb04
commit f6ed903ef5
11 changed files with 143 additions and 7 deletions

View File

@@ -0,0 +1,53 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using System.Web.Http.Tracing;
namespace Jackett.Utils
{
public class WebAPIToNLogTracer : ITraceWriter
{
public void Trace(HttpRequestMessage request, string category, TraceLevel level,
Action<TraceRecord> traceAction)
{
if (Engine.TracingEnabled)
{
TraceRecord rec = new TraceRecord(request, category, level);
traceAction(rec);
WriteTrace(rec);
}
}
protected void WriteTrace(TraceRecord rec)
{
var message = string.Format("{0} {1} {2}", rec.Operator, rec.Operation, rec.Message);
switch (rec.Level)
{
case TraceLevel.Debug:
Engine.Logger.Debug(message);
break;
case TraceLevel.Error:
Engine.Logger.Error(message);
break;
case TraceLevel.Fatal:
Engine.Logger.Fatal(message);
break;
case TraceLevel.Info:
Engine.Logger.Info(message);
break;
case TraceLevel.Off:
// Do nothing?
break;
case TraceLevel.Warn:
Engine.Logger.Warn(message);
break;
}
System.Diagnostics.Trace.WriteLine(message, rec.Category);
}
}
}