这是我的 nlog 配置。我想要实现的是将 Quartz 日志放在单独的文件中。但检查日志文件夹我只发现调度程序日志文件。
<targets>
<target xsi:type="File" name="f" fileName="${basedir}/logs/log-${shortdate}.log.json" layout="${json}" />
<target xsi:type="File" name="scheduler" fileName="${basedir}/logs/log-${shortdate}.scheduler.log" layout="${message}" />
<target xsi:type="Console" name="console" layout="${longdate} ${uppercase:${level}} ${message}" />
</targets>
<rules>
<logger name="Quartz*" minlevel="Trace" writeTo="scheduler" final="true"/>
<logger name="*" minlevel="Info" writeTo="console" />
<logger name="*" minlevel="Trace" writeTo="f" />
</rules>
</nlog>
注:我也尝试过Quartz.*
并更改顺序。但这对我没有帮助。
我需要任何额外的配置才能使其工作吗?
更新1:抱歉造成误解。日志记录本身可以与 Common.Logging 一起正常工作。创建的 Quartz 日志文件也显示正确的日志。问题是同时拥有它们,因为在我的情况下,由于某种原因,石英规则阻止了主要的创建。
<common>
<logging>
<factoryAdapter type="Common.Logging.NLog.NLogLoggerFactoryAdapter, Common.Logging.NLog31">
<arg key="configType" value="FILE" />
<arg key="configFile" value="~/NLog.config" />
</factoryAdapter>
</logging>
这是从一开始就配置的。当我添加 Quartz 时,问题就开始了。
日志记录本身可以与 Common.Logging 一起正常工作。并记录文件
创建的石英也显示正确的日志。问题是有
他们两个,因为在我的情况下,由于某种原因石英规则阻止
创建主要的一个。
从第一个记录器规则中取出“final=true”,以便它继续处理其他规则。我知道这很旧,但这可以解决您的问题:
Final – 最终规则匹配后不处理任何规则 https://github.com/nlog/NLog/wiki/Configuration-file#rules
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)