是否有任何已知的方法可以根据异常类型记录不同的信息?
这个想法是只记录每个异常类型的相关信息。 例如:已知异常/业务逻辑异常不需要记录堆栈跟踪,因为它们是“预期的”
基本上我要问的是,在记录异常时是否有任何已知的做法,以使日志尽可能有用而没有任何垃圾。
最佳答案
您可以在 <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 filter和 conditions文档。
关于.net - 区分异常并确定要记录的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35437246/