【问题标题】:Serilog different levels for different sinksSerilog 不同水槽的不同级别
【发布时间】:2021-01-26 10:46:37
【问题描述】:

我有以下一段 c# 代码用于编写具有多个接收器(控制台和文件)的日志,我如何限制控制台仅记录(信息、警告和错误)和文件以记录所有内容。

var outputTemplate = "[{Level:u3}] {Message:lj}{NewLine}{Exception}";

// Logger  

Log.Logger = new LoggerConfiguration()
    .MinimumLevel.Verbose()
    .WriteTo.Console(outputTemplate: outputTemplate, theme:SystemConsoleTheme.Literate)
    .WriteTo.File($"logs/log-{DateTime.Now:yyyy-MM-dd_HH:mm:ss.fff}.log")              
    .CreateLogger();

【问题讨论】:

    标签: .net-core serilog serilog-exceptions


    【解决方案1】:

    您可以为每个接收器设置restrictedToMinimumLevel 的值,以提高它应该记录的最低级别。

    在文档中通过示例进行了解释:

    https://github.com/serilog/serilog/wiki/Configuration-Basics#overriding-per-sink

    Log.Logger = new LoggerConfiguration()
        .MinimumLevel.Debug()
        .WriteTo.File("log.txt")
        .WriteTo.Console(restrictedToMinimumLevel: LogEventLevel.Information)
        .CreateLogger();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-02-02
      • 1970-01-01
      • 1970-01-01
      • 2016-03-04
      • 1970-01-01
      • 2021-06-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多