DotNet.Host.LogFilesMonitorArchiver
8.1.0
See the version list below for details.
dotnet add package DotNet.Host.LogFilesMonitorArchiver --version 8.1.0
NuGet\Install-Package DotNet.Host.LogFilesMonitorArchiver -Version 8.1.0
<PackageReference Include="DotNet.Host.LogFilesMonitorArchiver" Version="8.1.0" />
paket add DotNet.Host.LogFilesMonitorArchiver --version 8.1.0
#r "nuget: DotNet.Host.LogFilesMonitorArchiver, 8.1.0"
// Install DotNet.Host.LogFilesMonitorArchiver as a Cake Addin #addin nuget:?package=DotNet.Host.LogFilesMonitorArchiver&version=8.1.0 // Install DotNet.Host.LogFilesMonitorArchiver as a Cake Tool #tool nuget:?package=DotNet.Host.LogFilesMonitorArchiver&version=8.1.0
.NET Core Logging Files Monitor and Archiver
Long running services can generate lots of logging and temporary files. They become outdated and should be deleted by the dedicated period of time, like 180 days. ".NET Core Logging Files Monitor and Archiver" provides convenient and flexible features for log files archiving and removing. ".NET Core Logging Files Monitor and Archiver" is a long running monitor which scans file directories, archives them and deletes the old. It keeps file directories in tidy state by the rules.
Version 8.1.0
- Add support of .Net 8.x
- Obsolete "MoveToArchiveAfterReachingFiles" replaced with MoveToArchiveAfterReachingNumber
- Obsolete "DeleteFromArchiveAfterReachingFiles" replaced with DeleteFromArchiveAfterReachingNumber
- Add MonitoringMode:
- FilesOnly
- SubdirectoriesOnly
- Property AutoTimerIntervalEnabled is not supported, Auto Timer Interval always on.
ASP.NET Core WebHost and Host edition of ".NET Core Logging Files Monitor and Archiver": https://www.nuget.org/packages/DotNet.Host.LogFilesMonitorArchiver/
Archive scenarios
The "DotNet.LogFilesMonitorArchiver" package allows to implement the following archive scenarios:
Monitoring the "SourcePath" directory by the list of search pattern "MonitoringNames" names.
For each matched file name in the "SourcePath" directory apply the rules:
- Move it into the archive directory "ArchivePath" if the file created date is older than configured "MoveToArchiveOlderThanDays" days (default value 7).
- Move it into the archive directory "ArchivePath" if the number of files is greater than configured "MoveToArchiveAfterReachingNumber" number S(default value is int.MaxValue).
- For each matched file name in the "ArchivePath" directory apply the rules:
- Delete it from the archive directory "ArchivePath" if the file created date is older than configured "DeleteFromArchiveOlderThanDays" days (default value 30).
- Delete it from the archive directory "ArchivePath" if the number of files is greater than configured "DeleteFromArchiveAfterReachingNumber" number (default value is int.MaxValue).
Hosted via IHostedService
Use https://www.nuget.org/packages/DotNet.Host.LogFilesMonitorArchiver/ package.
Create separate configuration file or add to existing appsettings.config the root configuration section with name "ArchiveProcessorConfig".
Example of the configuration section:
{
"ArchiveProcessorConfig": {
"ArchiveOnStartup": "true",
"DelayArchiveInSecondsOnstartUp": 1,
"AutoTimerArchiveIntervalMin": 720,
"ArchiveRules": [
{
"SourcePath": "\\Logs\\AppExampleLogSource\\Stat",
"ArchivePath": "\\Logs\\AppExampleLogSource\\Stat\\Archive",
"MonitoringNames": [ "archive-able_*.xml", "*.csv" ],
"MoveToArchiveOlderThanDays": 14,
"MoveToArchiveAfterReachingNumbers": 28,
"DeleteFromArchiveOlderThanDays": 180,
"DeleteFromArchiveAfterReachingNumbers": 1000
},
{
"UseUtcTime":"false",
"SourcePath": "\\Logs\\AppExampleLogSource\\FatalError",
"ArchivePath": "\\Logs\\AppExampleLogSource\\FatalError\\Archive",
"MonitoringNames": [ "archive-able_*.xml", "*.trace" ],
"MoveToArchiveOlderThanDays": 7,
"DeleteFromArchiveOlderThanDays": 360
}
]
}
}
When configuring services add the following initialization code into:
var builder = WebApplication.CreateBuilder(args);
....
builder.Services.AddLogFilesMonitorArchiver();
builder.Services.AddLogFilesMonitorArchiverConfiguration(builder.Configuration);
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. |
-
net8.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Released only for net8.0
Singed assembly.
Implements StartAsync and StopAsync via Microsoft.Extensions.Hosting.IHostedService.