区分异常并确定要记录的内容

时间:2016-02-16 16:00:54

标签: .net logging nlog exception-logging

是否有任何已知的方法可根据异常类型记录不同的信息?

这个想法只会记录每种异常类型的相关信息。 例如:已知的异常/业务逻辑异常不需要记录堆栈跟踪,因为它们是“预期的”

基本上我要问的是,在记录异常时是否存在任何已知的做法,以使日志尽可能无助于垃圾。

1 个答案:

答案 0 :(得分:2)

您可以在<rules>中进行过滤,例如

<rules>
    <logger name="*" writeTo="file1">
        <filters>
            <when condition="'${exception:format=Type}' == 'ExpectedException' " action="LogFinal" />
            <when condition="true" action="Ignore" />

        </filters>
    </logger>
    <logger name="*" writeTo="file2">
        <filters>
            <when condition="'${exception:format=Type}' == 'OtherException' " action="LogFinal" />
            <when condition="true" action="Ignore" />

        </filters>
    </logger>    
</rules>

请参阅when filterconditions文档。