diff --git a/src/Umbraco.Infrastructure/HostedServices/RecurringHostedServiceBase.cs b/src/Umbraco.Infrastructure/HostedServices/RecurringHostedServiceBase.cs index 3ac04a73c6..14f779d079 100644 --- a/src/Umbraco.Infrastructure/HostedServices/RecurringHostedServiceBase.cs +++ b/src/Umbraco.Infrastructure/HostedServices/RecurringHostedServiceBase.cs @@ -24,7 +24,7 @@ namespace Umbraco.Cms.Infrastructure.HostedServices /// protected static readonly TimeSpan DefaultDelay = TimeSpan.FromMinutes(3); - private readonly ILogger _logger; + private readonly ILogger _logger; private TimeSpan _period; private readonly TimeSpan _delay; private Timer _timer; @@ -36,7 +36,7 @@ namespace Umbraco.Cms.Infrastructure.HostedServices /// Logger. /// Timespan representing how often the task should recur. /// Timespan representing the initial delay after application start-up before the first run of the task occurs. - protected RecurringHostedServiceBase(ILogger logger, TimeSpan period, TimeSpan delay) + protected RecurringHostedServiceBase(ILogger logger, TimeSpan period, TimeSpan delay) { _logger = logger; _period = period; @@ -46,7 +46,7 @@ namespace Umbraco.Cms.Infrastructure.HostedServices // Scheduled for removal in V11 [Obsolete("Please use constructor that takes an ILogger instead")] protected RecurringHostedServiceBase(TimeSpan period, TimeSpan delay) - : this(StaticServiceProvider.Instance.GetRequiredService(), period, delay) + : this(StaticServiceProvider.Instance.GetRequiredService().CreateLogger(), period, delay) { } @@ -80,7 +80,7 @@ namespace Umbraco.Cms.Infrastructure.HostedServices } catch (Exception ex) { - _logger.LogError(ex, "Unhandled exception in recurring hosted service {serviceName}.", GetType().Name); + _logger.LogError(ex, "Unhandled exception in recurring hosted service {serviceName}."); } finally { @@ -120,4 +120,14 @@ namespace Umbraco.Cms.Infrastructure.HostedServices GC.SuppressFinalize(this); } } + + public class RecurringHostedServiceBaseImpl : RecurringHostedServiceBase + { + + public RecurringHostedServiceBaseImpl(TimeSpan period, TimeSpan delay) : base(period, delay) + { + } + + public override Task PerformExecuteAsync(object state) => Task.CompletedTask; + } }