如何配置log4net以呈现带有异常消息但没有堆栈跟踪的消息?
我试过
<layout type="log4net.Layout.PatternLayout">
<IgnoresException value="False" />
</layout>
但它会删除有关异常的所有信息,并仅打印出自定义消息。我想保留异常消息并摆脱堆栈跟踪。
如果仅通过配置无法做到这一点,我应该从头开始编写自己的appender吗?或PatternLayout就足够了?
答案 0 :(得分:1)
如果您只想使用例外邮件,可以在%exception{message}
中使用<conversionPattern>
,<IgnoresException value="False" />
即使<layout type="log4net.Layout.PatternLayout">
<IgnoresException value="False" />
<conversionPattern value="%-5p %d{hh:mm:ss} %message (%exception{message})%newline"/>
</layout>
仍然显示异常邮件。
e.g。
if (def.outputs.length) {
for (let i = 0; i < def.outputs.length; i++) {
const output = def.outputs[i];
const subscription = instance[output.propName !].subscribe(
eventHandlerClosure(view, def.parent !.nodeIndex, output.eventName));
view.disposables ![def.outputIndex + i] = subscription.unsubscribe.bind(subscription);
尽管如此,我建议谨慎使用这种方法,完全丢弃堆栈跟踪可能会导致数小时的挫折,因为跟踪异常来源变得更加困难。