1
0
mirror of https://github.com/Sonarr/Sonarr.git synced 2024-12-04 10:34:59 +02:00
Sonarr/NzbDrone.Common/LogConfiguration.cs

96 lines
2.8 KiB
C#
Raw Normal View History

2011-10-24 08:54:09 +03:00
using System;
using System.Diagnostics;
using NLog;
using NLog.Config;
using NLog.Targets;
namespace NzbDrone.Common
{
public static class LogConfiguration
{
static LogConfiguration()
{
if (EnviromentProvider.IsProduction)
{
LogManager.ThrowExceptions = false;
}
else
{
LogManager.ThrowExceptions = true;
}
if (LogManager.Configuration == null)
{
LogManager.Configuration = new LoggingConfiguration();
}
}
public static void RegisterConsoleLogger(LogLevel minLevel, string loggerNamePattern = "*")
{
try
{
var consoleTarget = new ConsoleTarget();
consoleTarget.Layout = "${message} ${exception}";
LogManager.Configuration.AddTarget(consoleTarget.GetType().Name, consoleTarget);
LogManager.Configuration.LoggingRules.Add(new LoggingRule(loggerNamePattern, minLevel, consoleTarget));
}
catch (Exception e)
{
Console.WriteLine(e);
if (LogManager.ThrowExceptions)
throw;
}
}
public static void RegisterUdpLogger()
{
try
{
var udpTarget = new ChainsawTarget();
udpTarget.Address = "udp://127.0.0.1:20480";
udpTarget.IncludeCallSite = true;
udpTarget.IncludeSourceInfo = true;
udpTarget.IncludeNLogData = true;
udpTarget.IncludeNdc = true;
LogManager.Configuration.AddTarget(udpTarget.GetType().Name, udpTarget);
LogManager.Configuration.LoggingRules.Add(new LoggingRule("*", LogLevel.Trace, udpTarget));
}
catch (Exception e)
{
Console.WriteLine(e);
if (LogManager.ThrowExceptions)
throw;
}
}
public static void RegisterExceptioneer()
{
2011-11-13 10:27:16 +03:00
if (EnviromentProvider.IsProduction)
2011-10-24 08:54:09 +03:00
{
2011-11-13 10:27:16 +03:00
try
{
var exTarget = new ExceptioneerTarget();
LogManager.Configuration.AddTarget("Exceptioneer", exTarget);
LogManager.Configuration.LoggingRules.Add(new LoggingRule("*", LogLevel.Error, exTarget));
}
catch (Exception e)
{
Console.WriteLine(e);
}
2011-10-24 08:54:09 +03:00
}
}
public static void Reload()
{
2011-11-13 21:16:31 +03:00
var sw = Stopwatch.StartNew();
2011-10-24 08:54:09 +03:00
LogManager.Configuration.Reload();
LogManager.ReconfigExistingLoggers();
2011-11-13 21:16:31 +03:00
sw.Stop();
2011-10-24 08:54:09 +03:00
}
}
}