【问题标题】:Disable Warn from Microsoft.EntityFrameworkCore.*禁用来自 Microsoft.EntityFrameworkCore.* 的警告
【发布时间】:2020-08-20 14:27:27
【问题描述】:

应用程序 -> .NET Core

LogAdapter -> Nlog

使用此配置,它仍然会记录来自实体框架的警告。这里有什么问题?

【问题讨论】:

    标签: entity-framework asp.net-core nlog


    【解决方案1】:

    改编自 Wiki 教程中的示例 NLog.config:

      <rules>   
        <!--Skip non-critical Microsoft logs -->
        <logger name="Microsoft.*" maxlevel="Warn" final="true" /> <!-- BlackHole without writeTo -->
    
        <logger name="*" minlevel="Warn" writeTo="Db_WebLog" />
      </rules>
    </nlog>
    

    来自维基:https://github.com/NLog/NLog/wiki/Getting-started-with-ASP.NET-Core-3

    【讨论】:

      【解决方案2】:

      不要让您的第一行 writeTo,而是使用它作为规则来过滤掉您想要忽略的内容。

      请参阅此here 的文档

      可以使用的代码如下:

      <logger name="Microsoft.EntityFrameworkCore.*" level="Warn" final="true" />
      <logger name="*" minlevel="Warn" writeTo="Db_WebLog" />
      

      第一条规则选择记录器,但由于没有 writeTo,这些消息不会被记录。而且,由于此规则包含“final=true”,因此最后一条规则不适用于匹配第一条规则的记录器。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-06-01
        • 2018-01-21
        • 1970-01-01
        • 2022-01-24
        • 1970-01-01
        • 2013-02-22
        • 1970-01-01
        • 2016-03-09
        相关资源
        最近更新 更多