NLog dotnet core 2.1邮件忽略级别

时间:2018-11-12 10:18:29

标签: c# logging asp.net-core nlog

我在.net core 2.1应用中运行了NLog,我的文件和邮件记录程序正在运行,但是由于某些原因,无论设置的级别如何,邮件记录程序都将发送所有内容-以下nlog.config

<logger name="*" minlevel="Warn" writeTo="mail" />

<!--Skip non-critical Microsoft logs and so log only own logs-->
<logger name="Microsoft.*" maxLevel="Info" final="true" />


<logger name="*" minlevel="Warn" writeTo="ownFile-web" />

例如,“ ownFile-web”工作正常,仅记录错误和致命消息,但“邮件”向我发送了我不想要的所有信息(信息-每个请求和数据库操作),这明显降低了应用程序的运行速度< / p>

我是NLog的新手,所以也许我在配置中做错了什么?

我也在Program.cs中对此进行了设置,希望将全局日志级别设置为Warning或更高,但这没有帮助:

        public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
        WebHost.CreateDefaultBuilder(args)
            .UseStartup<Startup>()
        .ConfigureLogging(logging =>
        {
            logging.ClearProviders();
            logging.SetMinimumLevel(LogLevel.Warning);

        }).UseNLog();

1 个答案:

答案 0 :(得分:0)

由于某种原因,“ minLevel”被忽略了-我在有条件的情况下发现了这些东西,并且开始表现正常:

    <logger name="*" minlevel="Warn" writeTo="mail">
  <filters>
    <when condition="level > LogLevel.Debug" action="Log" />
    <when condition="level == LogLevel.Info" action="Ignore" />
  </filters>
</logger>