Fixed: Exceptions during Upgrade and AppStart are reported correctly.

pull/4/head
kay.one 13 years ago
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,8 +58,7 @@ 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;
@ -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);

@ -45,6 +45,8 @@ namespace NzbDrone
{ {
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);
LogConfiguration.RegisterUdpLogger(); LogConfiguration.RegisterUdpLogger();

Loading…
Cancel
Save