Radarr/NzbDrone.Core/Instrumentation/LogService.cs

37 lines
924 B
C#

using System;
using NzbDrone.Common.Messaging;
using NzbDrone.Core.Datastore;
using NzbDrone.Core.Instrumentation.Commands;
namespace NzbDrone.Core.Instrumentation
{
public interface ILogService
{
PagingSpec<Log> Paged(PagingSpec<Log> pagingSpec);
}
public class LogService : ILogService, IExecute<TrimLogCommand>, IExecute<ClearLogCommand>
{
private readonly ILogRepository _logRepository;
public LogService(ILogRepository logRepository)
{
_logRepository = logRepository;
}
public PagingSpec<Log> Paged(PagingSpec<Log> pagingSpec)
{
return _logRepository.GetPaged(pagingSpec);
}
public void Execute(TrimLogCommand message)
{
_logRepository.Trim();
}
public void Execute(ClearLogCommand message)
{
_logRepository.DeleteAll();
}
}
}