.net core Serilog针对不同的接收器记录不同的级别

.net core Serilog针对不同的接收器记录不同的级别,.net-core,serilog,serilog-exceptions,.net Core,Serilog,Serilog Exceptions,我有下面一段c#代码,用于编写具有多个接收器(控制台和文件)的日志,如何限制控制台只记录(信息、警告和错误)和文件记录所有内容 var outputTemplate = "[{Level:u3}] {Message:lj}{NewLine}{Exception}"; // Logger Log.Logger = new LoggerConfiguration() .MinimumLevel.Verbose() .WriteTo.Console(outp

我有下面一段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();

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

文档中用示例对其进行了解释:

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