NLog过滤器基于一天中的时间

时间:2013-04-04 19:13:00

标签: nlog

我正在尝试使用NLog conditions来过滤在特定时间未生成的消息

以下是我的样本

<logger name="*" minlevel="Info" writeTo="InfoMail" >
  <when condition="starts-with('${date:format=hh}', '01')" action="Ignore"/>
</logger>

然而,Nlog似乎无法拿起'$ {date:format = hh}'而且我仍然收到电子邮件,即使消息是在一点钟生成的。 有没有办法解决这个问题?

1 个答案:

答案 0 :(得分:2)

when条件应放在filters元素内,如Conditions - Examples所示,并在NLog.xsd中指定(When filter页面上的语法为错)

所以正确的用法是:

<logger name="*" minlevel="Info" writeTo="Console" >
  <filters>
    <when condition="starts-with('${date:format=hh}', '01')" action="Ignore"/>
  </filters>
</logger>