mirror of https://github.com/lidarr/Lidarr
41 lines
1.1 KiB
C#
41 lines
1.1 KiB
C#
|
using System;
|
|||
|
using System.Collections.Generic;
|
|||
|
using System.IO;
|
|||
|
using System.Linq;
|
|||
|
using NLog;
|
|||
|
using NzbDrone.Common;
|
|||
|
using NzbDrone.Common.EnvironmentInfo;
|
|||
|
using NzbDrone.Common.Messaging;
|
|||
|
using NzbDrone.Core.Instrumentation.Commands;
|
|||
|
|
|||
|
namespace NzbDrone.Core.Instrumentation
|
|||
|
{
|
|||
|
public interface IDeleteLogFilesService
|
|||
|
{
|
|||
|
}
|
|||
|
|
|||
|
public class DeleteLogFilesService : IDeleteLogFilesService, IExecute<DeleteLogFilesCommand>
|
|||
|
{
|
|||
|
private readonly IDiskProvider _diskProvider;
|
|||
|
private readonly IAppFolderInfo _appFolderInfo;
|
|||
|
private readonly Logger _logger;
|
|||
|
|
|||
|
public DeleteLogFilesService(IDiskProvider diskProvider, IAppFolderInfo appFolderInfo, Logger logger)
|
|||
|
{
|
|||
|
_diskProvider = diskProvider;
|
|||
|
_appFolderInfo = appFolderInfo;
|
|||
|
_logger = logger;
|
|||
|
}
|
|||
|
|
|||
|
public void Execute(DeleteLogFilesCommand message)
|
|||
|
{
|
|||
|
var logFiles = _diskProvider.GetFiles(_appFolderInfo.GetLogFolder(), SearchOption.TopDirectoryOnly);
|
|||
|
|
|||
|
foreach (var logFile in logFiles)
|
|||
|
{
|
|||
|
_diskProvider.DeleteFile(logFile);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|