c# - 每次使用 Serilog 创建新的 Logger 时,创建一个带有更新后缀的新文件
问题描述
每次创建新的 Logger 时,我都想让 Serilog 写入一个后缀递增的新文件。
例如:
- log_001.txt
- log_002.txt
基本上,我想要 OP 在这个 github 问题上发布的行为: https ://github.com/serilog/serilog-sinks-rollingfile/issues/9
我想要的是OP试图摆脱。
当我在下面使用此代码时,即使记录器被new
多次编辑,也只会生成一个文件:
var log = new LoggerConfiguration()
.WriteTo.RollingFile(@"C:\temp\testlog\log-{Date}.txt")
.CreateLogger();
log.Debug("Created logger...");
解决方案
我建议你检查是否generated one file
包含Created logger...
.
对于LoggerConfiguration
,它的默认值LogEventLevel
是Serilog.Events.LogEventLevel.Information
这意味着您的log.Debug("Created logger...");
代码不会创建日志记录。
我建议您使用以下代码进行测试:
var log = new LoggerConfiguration()
.MinimumLevel.Debug()
.WriteTo.RollingFile(@"C:\Windows\Temp\testlog\log-{Date}.txt")
.CreateLogger();
log.Debug("Created logger1...");
var log1 = new LoggerConfiguration()
.MinimumLevel.Debug()
.WriteTo.RollingFile(@"C:\Windows\Temp\testlog\log-{Date}.txt", Serilog.Events.LogEventLevel.Debug)
.CreateLogger();
log1.Debug("Created logger2...");
上面的代码将创建两个文件,如果您需要与log_001.txt
and完全相同的文件名log_002.txt
,则需要实现自己的文件名sink
,请查看此讨论Filename without date #59。
推荐阅读
- xml - XSL 列表反向
- c - 检查 scanf 输入
- numpy - 如何编织 pytorch 张量
- gps - 阅读 uint8_t XsRawGnssPvtData 在 C++ 和 Ubuntu 中检查 GPS RTK
- typescript - 如何在 Typescript 中访问自定义类型值
- java - 在 java 中使用 memento 模式恢复 Vector
- c# - 为什么我的开关的情况是正确的,但输出不是?
- c - VSCode 没有从 scanf 和 printf 设置变量
- javascript - React / NextJs,更改时设置选择选项状态不反映
- mysql - 在mysql中插入具有相同外键的多行