Log Skyhook connection failures with more info.

This commit is contained in:
Taloth Saldono 2021-03-10 21:43:43 +01:00
parent e4a064a1c0
commit 6672650b6b
3 changed files with 24 additions and 6 deletions

View File

@ -1,4 +1,5 @@
using System.Net; using System;
using System.Net;
using NzbDrone.Common.Exceptions; using NzbDrone.Common.Exceptions;
namespace NzbDrone.Core.Exceptions namespace NzbDrone.Core.Exceptions
@ -7,7 +8,13 @@ namespace NzbDrone.Core.Exceptions
{ {
public HttpStatusCode StatusCode { get; private set; } public HttpStatusCode StatusCode { get; private set; }
public NzbDroneClientException(HttpStatusCode statusCode, string message, params object[] args) : base(message, args) public NzbDroneClientException(HttpStatusCode statusCode, string message, params object[] args)
: base(message, args)
{
StatusCode = statusCode;
}
public NzbDroneClientException(HttpStatusCode statusCode, string message, Exception innerException, params object[] args)
: base(message, innerException, args)
{ {
StatusCode = statusCode; StatusCode = statusCode;
} }

View File

@ -13,5 +13,10 @@ namespace NzbDrone.Core.MetadataSource.SkyHook
: base(HttpStatusCode.ServiceUnavailable, message, args) : base(HttpStatusCode.ServiceUnavailable, message, args)
{ {
} }
public SkyHookException(string message, Exception innerException, params object[] args)
: base(HttpStatusCode.ServiceUnavailable, innerException, message, args)
{
}
} }
} }

View File

@ -109,14 +109,20 @@ namespace NzbDrone.Core.MetadataSource.SkyHook
return httpResponse.Resource.SelectList(MapSearchResult); return httpResponse.Resource.SelectList(MapSearchResult);
} }
catch (HttpException) catch (HttpException ex)
{ {
throw new SkyHookException("Search for '{0}' failed. Unable to communicate with SkyHook.", title); _logger.Warn(ex);
throw new SkyHookException("Search for '{0}' failed. Unable to communicate with SkyHook.", ex, title);
}
catch (WebException ex)
{
_logger.Warn(ex);
throw new SkyHookException("Search for '{0}' failed. Unable to communicate with SkyHook.", ex, title, ex.Message);
} }
catch (Exception ex) catch (Exception ex)
{ {
_logger.Warn(ex, ex.Message); _logger.Warn(ex);
throw new SkyHookException("Search for '{0}' failed. Invalid response received from SkyHook.", title); throw new SkyHookException("Search for '{0}' failed. Invalid response received from SkyHook.", ex, title);
} }
} }