Fixed: Exceptions during Upgrade and AppStart are reported correctly.

This commit is contained in:
kay.one 2012-03-01 17:57:36 -08:00
parent ac568ef47b
commit 7a3f7bf67c
4 changed files with 27 additions and 10 deletions

View File

@ -30,8 +30,7 @@ namespace NzbDrone.Common
{
try
{
if (RestProvider == null && EnviromentProvider.IsProduction)
return;
VerifyRestProvider();
lock (parserErrorCache)
{
@ -59,9 +58,8 @@ namespace NzbDrone.Common
{
try
{
if (RestProvider == null && EnviromentProvider.IsProduction)
return;
VerifyRestProvider();
var report = new ExceptionReport();
report.LogMessage = logEvent.FormattedMessage;
report.String = logEvent.Exception.ToString();
@ -81,5 +79,21 @@ namespace NzbDrone.Common
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.");
}
}
}
}
}

View File

@ -14,7 +14,7 @@ namespace NzbDrone.Common
public class RestProvider
{
private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
private static readonly Logger logger = LogManager.GetCurrentClassLogger();
private readonly EnviromentProvider _enviromentProvider;

View File

@ -2,8 +2,6 @@
using System.IO;
using System.Linq;
using NLog;
using NLog.Config;
using NLog.Targets;
using Ninject;
using NzbDrone.Common;
using NzbDrone.Update.Providers;
@ -29,9 +27,10 @@ namespace NzbDrone.Update
try
{
Console.WriteLine("Starting NzbDrone Update Client");
InitLoggers();
_kernel = new StandardKernel();
InitLoggers();
logger.Info("Updating NzbDrone to version {0}", _kernel.Get<EnviromentProvider>().Version);
_kernel.Get<Program>().Start(args);
@ -62,6 +61,8 @@ namespace NzbDrone.Update
private static void InitLoggers()
{
ReportingService.RestProvider = _kernel.Get<RestProvider>();
LogConfiguration.RegisterRemote();
LogConfiguration.RegisterConsoleLogger(LogLevel.Trace);

View File

@ -44,6 +44,8 @@ namespace NzbDrone
private static void InitilizeApp()
{
var enviromentProvider = _kernel.Get<EnviromentProvider>();
ReportingService.RestProvider = _kernel.Get<RestProvider>();
LogConfiguration.RegisterRollingFileLogger(enviromentProvider.GetLogFileName(), LogLevel.Info);
LogConfiguration.RegisterConsoleLogger(LogLevel.Debug);