Hook per Serilog.Sinks.File che permette di comprimere e archiviare i log cancellati, gestendo limiti di spazio e di numero file sull'archivio.
var hooks = new ArchiveWithLimitsHook(
archiveDirectory: "log-archive",
maxArchiveFiles: 100,
maxArchiveBytes: 2L * 1024 * 1024 * 1024 // 2 GB
);
Log.Logger = new LoggerConfiguration()
.WriteTo.File(
"log.txt",
rollingInterval: RollingInterval.Day,
hooks: hooks,
retainedFileCountLimit: 10
)
.CreateLogger();