我尝试使用WriteTo.RollingFile
和Serilog,每天写一个文件:
var log = new LoggerConfiguration().WriteTo.RollingFile(
@"F:\logs\log-{Date}.txt",
LogEventLevel.Debug).CreateLogger();
log.Information("this is a log test");
但我在同一天内为每个日志条目**获取了一个新的日志文件 *!
如何将Serilog配置为每天写入一个新文件,以使其每天只有一个日志文件?
是否有任何归档流程可以删除7天以上的文件?
9条答案
按热度按时间332nm8kg1#
请尝试以下内容:
日志文件名将自动为log-20150819.txt等。您不需要指定日期。旧文件将根据retainedFileCountLimit(默认值为31)进行清理。
lkaoscv72#
写入.滚动文件已弃用
由于发布了答案,方法
RollingFile
不再可行,并替换为File
和滚动日志的选项。现在必须使用支持滚动的标准
Serilog.Sinks.File
NuGet包:bybem2ql3#
下面是在www.example.com MVC 4/5应用程序中使用Serilog和web.config的方法asp.net。
在您的web.config中添加以下内容:
然后在global.asax的
Application_Start
中添加以下内容:wko9yo5t4#
用密码
或在web.config中
ilmyapht5#
要使用同一文件,必须添加
shared: true
. WriteTo.滚动文件("日志-{日期}. txt",共享:正确)
m1m5dgzv6#
作为此操作的后续操作,请确保随后使用全局范围的"Log"示例。
示例:
gg58donl7#
WriteTo.RollingFile已弃用-〉带格式设置程序
如果使用文本格式器
ITextFormatter
,请注意,在使用File
时,path
的变量位置已切换到第二位。因此,将此格式与格式化程序一起使用:
hkmswyz68#
首先,你需要加上这些金块:
比设置你的serilog在appsettings.json:
那么您需要在C#代码中添加此配置。
monwx1rj9#
我是这样做的: