我正在尝试通过配置来配置一个自定义ILogger<T>
的日志级别。这容易实现吗?我想限制这个特定处理程序的日志记录,而不涉及任何常规设置。
在我的自定义案例中,我将一个ILogger<DataHandledLoggingHandler>
注入到我的类中,并希望在某些环境中禁用它。我假设应该工作的是添加一个键“DataHandledLoggingHandler”到appsettings.json的Logging.LogLevel节,例如“None”。但是,我仍然在日志接收器中看到警告。我的appsetting.Development.json看起来像这样:
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning",
"DataHandledLoggingHandler": "None",
}
...
我还尝试了包括名称空间在内的完全限定名称,但仍然没有成功,日志记录仍在进行。
我现在确实使用Serilog和Seq以及控制台接收器,但是通过Serilog.Extensions.Logging包将它连接到ILogger
1条答案
按热度按时间vngu2lb81#
首先,在Serilog的
LogEventLevel
枚举中没有None
选项。尝试使用Fatal
进行测试。还尝试为DataHandledLoggingHandler
指定完全限定的名称(即使用完整的名称空间-SomeThing.Something1....DataHandledLoggingHandler
)。如果这样做有效,但
Fatal
还不够,那么您需要通过代码-see this answer进行设置。