我在.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();
答案 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>