gpt4 book ai didi

asp.net-core - 异常时的 Serilog 更改日志级别

转载 作者:行者123 更新时间:2023-12-03 18:38:52 24 4
gpt4 key购买 nike

如果日志包含异常,是否可以使用 Serilog/Seq 配置更改最低日志记录级别?我的用例是 Microsoft JSON 输入格式化程序,它在 Debug 级别记录,但如果输入格式有问题,它将抛出一个异常,该异常在 Debug 级别被捕获并记录。无论级别如何,我都想记录任何附加异常的内容。

编辑:
需要澄清的是,在生产中,我们只在信息级别或更高级别记录我们的消息,或者如果它来自框架代码(系统和 Microsoft 命名空间)则发出警告。寻找一种方法,无论消息级别如何,如果有异常,我都可以记录。

最佳答案

Serilog 可以做到这一点,但有一些主要缺点,即必须首先构造所有调试级别的事件,然后过滤掉不需要的事件。在大多数情况下,这可能是太多的开销,您最好将记录异常的事件级别更改为 Information或更高。

但是要做到这一点:

Log.Logger = new LoggerConfiguration()
.MinimumLevel.Debug() // emit the events
.Filter.ByIncludingOnly(le => (int)le.Level >= (int)LogEventLevel.Information ||
le.Exception != null)
.CreateLogger();

关于asp.net-core - 异常时的 Serilog 更改日志级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54696886/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com