每次使用Serilog创建新的Logger时,都创建一个带有更新后缀的新文件。

时间:2018-11-21 17:39:20

标签: c# logging asp.net-core serilog

我想让Serilog每次创建新的Logger时都以递增的后缀写入新文件。

例如:

  • 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...");

1 个答案:

答案 0 :(得分:2)

我建议您检查generated one file是否包含Created logger...

对于LoggerConfiguration,其默认LogEventLevelSerilog.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.txtlog_002.txt完全相同,则需要实现自己的sink,请检查此讨论Filename without date #59