Radarr/NzbDrone.Common/ExceptioneerTarget.cs

34 lines
1.1 KiB
C#
Raw Normal View History

2012-01-20 06:12:07 +00:00
using System;
using System.Diagnostics;
using Exceptioneer.WindowsFormsClient;
using NLog;
using NLog.Targets;
2011-10-24 05:54:09 +00:00
namespace NzbDrone.Common
{
public class ExceptioneerTarget : Target
{
private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
2012-01-20 06:12:07 +00:00
private static readonly Version version = new EnviromentProvider().Version;
protected override void Write(LogEventInfo logEvent)
{
2012-01-17 07:55:55 +00:00
if (logEvent == null || logEvent.Exception == null || !EnviromentProvider.IsProduction) return;
2011-10-17 19:23:34 +00:00
2011-11-14 06:01:51 +00:00
Logger.Trace("Sending Exception to Exceptioneer. Process Name: {0}", Process.GetCurrentProcess().ProcessName);
2011-10-17 04:09:43 +00:00
2012-01-20 06:12:07 +00:00
logEvent.Exception.Data.Add("Version", version.ToString());
2011-10-17 19:23:34 +00:00
logEvent.Exception.Data.Add("Message", logEvent.Message);
2012-01-20 06:12:07 +00:00
2011-10-17 04:09:43 +00:00
new Client
{
ApiKey = "43BBF60A-EB2A-4C1C-B09E-422ADF637265",
2011-11-08 17:48:34 +00:00
ApplicationName = "NzbDrone",
2011-10-17 04:09:43 +00:00
CurrentException = logEvent.Exception
}.Submit();
}
}
}