默认情况下,当使用Ilog Error(字符串消息,Exception ex)方法时,log4net只记录调用堆栈的5个第一帧。
有没有办法改变它(扩展它)?
PS。这不是" log4net支持包括日志消息中的调用堆栈"。它不是支持在每个记录的消息中包含调用堆栈,而是在调用Error(字符串消息,Exception ex)方法时,它指的是记录的堆栈跟踪帧数量。
答案 0 :(得分:0)
您可以选择在日志消息中包含callstack:
堆栈跟踪:
用于输出日志记录事件的堆栈跟踪 堆栈跟踪级别说明符可以括在大括号之间。对于 例如,%stacktrace {level}。如果没有堆栈跟踪级别说明符 给定1然后假设输出使用格式:type3.MethodCall3> type2.MethodCall2> type1.MethodCall1此模式不可用 用于Compact Framework程序集。
这样您就可以包含调用堆栈。我不知道如何改变异常中的帧数。我知道它不仅限于5,它只是打印异常ToString()。如果你遗漏了异常堆栈的一部分,你可能会重新抛出类似throw ex;
的{{1}}