Sonarr/NzbDrone.Common/NlogTargets/ExceptioneerTarget.cs

35 lines
1.1 KiB
C#
Raw Normal View History

using System.Linq;
using System;
2012-01-20 06:12:07 +00:00
using System.Diagnostics;
using Exceptioneer.WindowsFormsClient;
using NLog;
using NLog.Targets;
namespace NzbDrone.Common.NlogTargets
{
public class ExceptioneerTarget : Target
{
private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
private static readonly Version version = new EnvironmentProvider().Version;
2012-01-20 06:12:07 +00:00
protected override void Write(LogEventInfo logEvent)
{
if (logEvent == null || logEvent.Exception == null || !EnvironmentProvider.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();
}
}
}