如何在 .Net WPF 应用程序中使用 Serilog 自动尾部(删除)旧日志?
How do I automatically tail (delete) older logs using Serilog in a .Net WPF application?
我在 .Net WPF 应用程序中使用 Serliog。
有没有一种方法可以在日志文件超过 N 天时自动“尾部”(删除)它们?
https://github.com/serilog/serilog-sinks-rollingfile/blob/dev/README.md
看这里。您可以配置每天自动创建一个新日志文件,也可以设置要保留的日志文件数量
根据documentation,retainedFileCountLimit
的默认值是31所以默认只保留最近的31个文件。
更改代码中保存的文件数量:
var log = new LoggerConfiguration()
.WriteTo.File("log.txt", retainedFileCountLimit: 42)
.CreateLogger();
通过 null
取消限制。
在XML<appSettings>
配置中:
<appSettings>
<add key="serilog:using:File" value="Serilog.Sinks.File" />
<add key="serilog:write-to:File.path" value="log.txt" />
<add key="serilog:write-to:File.retainedFileCountLimit" value="42"/>
</appSettings>
并传递一个空字符串以取消限制。
在JSONappsettings.json
配置
{
"Serilog": {
"WriteTo": [
{
"Name": "File",
"Args": {
"path": "log.txt",
"retainedFileCountLimit": "42"
}
}
]
}
}
并传递一个空字符串以取消限制。
请注意,我还没有测试 JSON 配置。
现在您还可以指定 属性 retainedFileTimeLimit
:
https://github.com/serilog/serilog-sinks-file/pull/90
顺便说一下,如果您只想按日期进行限制,请不要忘记指定 retainedFileCountLimit: null
。当前实现的 retainedFileCountLimit 的默认值为 31。因此,如果您省略该参数,该过滤器也将被应用
我在 .Net WPF 应用程序中使用 Serliog。
有没有一种方法可以在日志文件超过 N 天时自动“尾部”(删除)它们?
https://github.com/serilog/serilog-sinks-rollingfile/blob/dev/README.md 看这里。您可以配置每天自动创建一个新日志文件,也可以设置要保留的日志文件数量
根据documentation,retainedFileCountLimit
的默认值是31所以默认只保留最近的31个文件。
更改代码中保存的文件数量:
var log = new LoggerConfiguration()
.WriteTo.File("log.txt", retainedFileCountLimit: 42)
.CreateLogger();
通过 null
取消限制。
在XML<appSettings>
配置中:
<appSettings>
<add key="serilog:using:File" value="Serilog.Sinks.File" />
<add key="serilog:write-to:File.path" value="log.txt" />
<add key="serilog:write-to:File.retainedFileCountLimit" value="42"/>
</appSettings>
并传递一个空字符串以取消限制。
在JSONappsettings.json
配置
{
"Serilog": {
"WriteTo": [
{
"Name": "File",
"Args": {
"path": "log.txt",
"retainedFileCountLimit": "42"
}
}
]
}
}
并传递一个空字符串以取消限制。 请注意,我还没有测试 JSON 配置。
现在您还可以指定 属性 retainedFileTimeLimit
:
https://github.com/serilog/serilog-sinks-file/pull/90
顺便说一下,如果您只想按日期进行限制,请不要忘记指定 retainedFileCountLimit: null
。当前实现的 retainedFileCountLimit 的默认值为 31。因此,如果您省略该参数,该过滤器也将被应用