c# - log4net:肢解异常

标签 c# log4net

我想将异常的堆栈跟踪与其消息分开。例如在这个例子中:

System.NullReferenceException: Object reference not set to an instance of an object.
at BettweenSvc.Bettweensvc.processRequest(RequestManagerRepository rmr, RequestConversation rc) in C:\Repository\bettween\trunk\Solution\BettweenSvc\Bettweensvc.cs:line 277
at BettweenSvc.Bettweensvc.bettweenTimer_Elapsed(Object sender, ElapsedEventArgs e) in C:\Repository\bettween\trunk\Solution\BettweenSvc\Bettweensvc.cs:line 111

我要登录

System.NullReferenceException: Object reference not set to an instance of an object.

在一个领域,其余在另一个领域

目前我有

<parameter>
  <parameterName value="@exception" />
  <dbType value="String" />
  <size value="2000" />
  <layout type="log4net.Layout.ExceptionLayout" />
</parameter>

在我的 AdoNetAppender 中,我该怎么做?

最佳答案

这应该有效:

<parameter>
  <parameterName value="@exception" />
  <dbType value="String" />
  <size value="2000" />
  <layout type="log4net.Layout.PatternLayout">
    <conversionPattern value="%exception{message}" />
  </layout>
</parameter>

如果您想要使用 %exception{stacktrace} 的堆栈跟踪。

编辑:
如果您使用的是 log4net 1.2.10,那么您需要实现自己的模式布局来满足您的需求。我建议检查当前的 log4net 源代码(主干),看看他们是如何做到的(真的很简单)。 Here是此类布局转换器的示例。

关于c# - log4net:肢解异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6946934/

相关文章:

当我尝试使用套接字连接时,C# GUI 挂起。需要一种方法来分离 GUI 线程吗?

c# - 如何获取下一个星期日的日期?

c# - 为什么将日志记录到 log4net.ILog 附加到多个日志?

c# - Log4Net 不写入数据库

c# - 如何以编程方式更改文件位置?

c# - Web 服务与 Java 的集成,它们的类型有问题吗?

c# - 如何使用 JSON.NET 解析递归数据结构?

c# - Rabbitmq:exchange->routingkey->queue命名结构

Silverlight:Log4Net 到独立存储

.net - Log4net 不会登录到控制台(WinForms 应用程序)