nlog记录器和过滤器

时间:2018-04-18 15:13:33

标签: asp.net nlog

我想应用过滤器来阻止通过电子邮件发送的某些错误,但仍然将它们记录到文件中

f是文件目标,m是邮件目标,两者都正常工作,直到我应用此过滤器:

<rules>
  <logger name="*" minlevel="Error" writeTo="f" /> 
  <logger name="*" minlevel="Error" writeTo="m" >
    <filters>
      <when condition="contains(${message}, 'Some message exception text')" action="Ignore" />
    </filters>
  </logger>
</rules>

如果抛出包含“某些消息异常文本”的错误,我希望条目仍然出现在文件日志中但不会出现。我没有收到电子邮件,这是我想要的,但没有记录到该文件。

我是否错误地设置了过滤器,或者这是nlog的预期行为?

1 个答案:

答案 0 :(得分:1)

试试这个:你忘了使用&#34;&#39;&#34; for $ {message} =&gt; &#39; $ {消息}&#39;

<filters>
        <when condition="contains('${message}', 'Some message exception text' )" action="Ignore"/>
</filters>