gpt4 book ai didi

.net - 使用 NLog 记录异常时如何获取堆栈跟踪?

转载 作者:行者123 更新时间:2023-12-03 05:55:50 25 4
gpt4 key购买 nike

当我使用 NLog 的默认布局时,它只打印异常的名称。有人告诉我 log4jxmlevent 布局不会打印任何有关异常的信息。什么布局对我有帮助?

示例代码:

try
{
throw new SystemException();
}
catch (Exception ex)
{
logger.Error("oi", ex);
}

默认布局输出:

2011-01-14 09:14:48.0343|ERROR|ConsoleApplication.Program|oi

log4jxmlevent 输出:

<log4j:event logger="ConsoleApplication.Program"
level="ERROR"
timestamp="1295003776872"
thread="9">
<log4j:message>oi</log4j:message>
<log4j:NDC />
<log4j:locationInfo class="ConsoleApplication.Program"
method="Void Main(System.String[])"
file="C:\Users\User\Documents\Visual Studio 2010\Projects\ConsoleApplication\ConsoleApplication\Program.cs"
line="21" />
<nlog:eventSequenceNumber>3</nlog:eventSequenceNumber>
<nlog:locationInfo assembly="ConsoleApplication, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
<log4j:properties>
<log4j:data name="log4japp"
value="true" />
<log4j:data name="log4jmachinename"
value="MACHINE" />
</log4j:properties>

最佳答案

How to Log Exceptions 中所述从 NLog 4.0 开始,将异常作为第一个参数传递给 Error,例如这样:

logger.Error(ex, "ex");

和自定义布局

layout="${exception:format=ToString}${newline}"

关于.net - 使用 NLog 记录异常时如何获取堆栈跟踪?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4684399/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com