使用NLog将Quartz.Net配置为单独的文件

时间:2014-12-17 12:28:58

标签: c# quartz-scheduler nlog quartz.net

这是我对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的andlogging文件也显示正确的日志。问题是要同时使用它们,因为某些原因石英规则阻止了主要的创建。

<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时,问题就出现了。

1 个答案:

答案 0 :(得分:0)

  

记录本身可以与Common.Logging一起正常工作。的Andlogging文件   创建的石英也显示正确的日志。问题是   他们两个,因为我的原因,因为某种原因,石英法则阻止了   创建主要的。

从您的第一个记录器规则中取出“ final = true”,以便它继续处理其他规则。我知道这很旧,但是可以解决您的问题:

  

final – no rules are processed after a final rule matches

相关问题