Fixed: Exceptions during Upgrade and AppStart are reported correctly.
This commit is contained in:
parent
ac568ef47b
commit
7a3f7bf67c
|
@ -30,8 +30,7 @@ namespace NzbDrone.Common
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
if (RestProvider == null && EnviromentProvider.IsProduction)
|
VerifyRestProvider();
|
||||||
return;
|
|
||||||
|
|
||||||
lock (parserErrorCache)
|
lock (parserErrorCache)
|
||||||
{
|
{
|
||||||
|
@ -59,9 +58,8 @@ namespace NzbDrone.Common
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
if (RestProvider == null && EnviromentProvider.IsProduction)
|
VerifyRestProvider();
|
||||||
return;
|
|
||||||
|
|
||||||
var report = new ExceptionReport();
|
var report = new ExceptionReport();
|
||||||
report.LogMessage = logEvent.FormattedMessage;
|
report.LogMessage = logEvent.FormattedMessage;
|
||||||
report.String = logEvent.Exception.ToString();
|
report.String = logEvent.Exception.ToString();
|
||||||
|
@ -81,5 +79,21 @@ namespace NzbDrone.Common
|
||||||
logger.Info("Unable to report exception. " + e);
|
logger.Info("Unable to report exception. " + e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static void VerifyRestProvider()
|
||||||
|
{
|
||||||
|
if(RestProvider == null)
|
||||||
|
{
|
||||||
|
if(EnviromentProvider.IsProduction)
|
||||||
|
{
|
||||||
|
logger.Warn("Rest provider wasn't provided. creating new one!");
|
||||||
|
RestProvider = new RestProvider(new EnviromentProvider());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
throw new InvalidOperationException("REST Provider wasn't configured correctly.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,7 +14,7 @@ namespace NzbDrone.Common
|
||||||
public class RestProvider
|
public class RestProvider
|
||||||
{
|
{
|
||||||
|
|
||||||
private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
|
private static readonly Logger logger = LogManager.GetCurrentClassLogger();
|
||||||
|
|
||||||
private readonly EnviromentProvider _enviromentProvider;
|
private readonly EnviromentProvider _enviromentProvider;
|
||||||
|
|
||||||
|
|
|
@ -2,8 +2,6 @@
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using NLog;
|
using NLog;
|
||||||
using NLog.Config;
|
|
||||||
using NLog.Targets;
|
|
||||||
using Ninject;
|
using Ninject;
|
||||||
using NzbDrone.Common;
|
using NzbDrone.Common;
|
||||||
using NzbDrone.Update.Providers;
|
using NzbDrone.Update.Providers;
|
||||||
|
@ -29,9 +27,10 @@ namespace NzbDrone.Update
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
Console.WriteLine("Starting NzbDrone Update Client");
|
Console.WriteLine("Starting NzbDrone Update Client");
|
||||||
|
|
||||||
InitLoggers();
|
|
||||||
_kernel = new StandardKernel();
|
_kernel = new StandardKernel();
|
||||||
|
InitLoggers();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
logger.Info("Updating NzbDrone to version {0}", _kernel.Get<EnviromentProvider>().Version);
|
logger.Info("Updating NzbDrone to version {0}", _kernel.Get<EnviromentProvider>().Version);
|
||||||
_kernel.Get<Program>().Start(args);
|
_kernel.Get<Program>().Start(args);
|
||||||
|
@ -62,6 +61,8 @@ namespace NzbDrone.Update
|
||||||
|
|
||||||
private static void InitLoggers()
|
private static void InitLoggers()
|
||||||
{
|
{
|
||||||
|
ReportingService.RestProvider = _kernel.Get<RestProvider>();
|
||||||
|
|
||||||
LogConfiguration.RegisterRemote();
|
LogConfiguration.RegisterRemote();
|
||||||
|
|
||||||
LogConfiguration.RegisterConsoleLogger(LogLevel.Trace);
|
LogConfiguration.RegisterConsoleLogger(LogLevel.Trace);
|
||||||
|
|
|
@ -44,6 +44,8 @@ namespace NzbDrone
|
||||||
private static void InitilizeApp()
|
private static void InitilizeApp()
|
||||||
{
|
{
|
||||||
var enviromentProvider = _kernel.Get<EnviromentProvider>();
|
var enviromentProvider = _kernel.Get<EnviromentProvider>();
|
||||||
|
|
||||||
|
ReportingService.RestProvider = _kernel.Get<RestProvider>();
|
||||||
|
|
||||||
LogConfiguration.RegisterRollingFileLogger(enviromentProvider.GetLogFileName(), LogLevel.Info);
|
LogConfiguration.RegisterRollingFileLogger(enviromentProvider.GetLogFileName(), LogLevel.Info);
|
||||||
LogConfiguration.RegisterConsoleLogger(LogLevel.Debug);
|
LogConfiguration.RegisterConsoleLogger(LogLevel.Debug);
|
||||||
|
|
Loading…
Reference in New Issue