【问题标题】:ASP.NET Core 2.0 Custom LoggingProvider filter in appsettings.jsonappsettings.json 中的 ASP.NET Core 2.0 自定义 LoggingProvider 过滤器
【发布时间】:2019-03-18 00:39:13
【问题描述】:

在 asp.net core 中可以注册不同的日志提供者:

services.AddLogging(builder => builder
            .AddConsole()
            .AddDebug();

然后在appsettings.json里面配置:

{
    "Logging": {
        "IncludeScopes": false,
        "Console": {
            "LogLevel": {
                "Default": "Warning"
             }
         }
     }
 }

但是如何为自定义日志提供程序配置日志级别:

builder.Services.AddSingleton<ILoggerProvider,MyLoggerProvider>

应该在 appsettings.json 中添加什么以及在代码中应该做什么?我猜是这样的:

{
    "Logging": {
        "IncludeScopes": false,
        "Console": {
            "LogLevel": {
                "Default": "Warning"
             }
         }
         "?":{
             "LogLevel": {
                "Default": "Debug"
             } 
         }
     }
 }

但是“?”中的内容是什么?如果这确实是正确的方法?

【问题讨论】:

    标签: c# asp.net


    【解决方案1】:

    您可以在 CustomLoggerProvider 类上使用 ProviderAlias 属性并将该别名添加到 appsettings.json 文件中。

    [ProviderAlias("MyLogger")]
      public class MyLoggerProvider
    
    
    
      "MyLogger":{
             "LogLevel": {
                "Default": "Debug"
             } 
         }
    

    【讨论】:

    • 谢谢,看起来不错。我还没有机会尝试一下,但有时间会尝试的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-04-30
    • 2017-12-15
    • 1970-01-01
    • 1970-01-01
    • 2020-10-24
    • 2017-04-18
    • 1970-01-01
    相关资源
    最近更新 更多