【发布时间】:2012-01-23 17:21:41
【问题描述】:
我需要捕获 log4net 异常(它自己的异常不是它记录的应用程序异常)。我希望有办法这样做:
Try
_logger.Info(response)
Catch ex As Exception
Excepciones.HandleException(ex, "PolicyCore")
End Try
我已经实现了这段代码,编译中没有错误,但我强制 log4net 出现错误(指向配置文件中不存在的数据库)并且没有任何内容被抛出。
我已经尝试过监听器方法:
<appSettings>
<add key="log4net.Internal.Debug" value="true" />
</appSettings>
<system.diagnostics>
<trace autoflush="true" indentsize="4" >
<listeners>
<add name="textWriterTraceListener"
type="System.Diagnostics.TextWriterTraceListener"
initializeData="C:\\temp\\log4net.txt" />
<remove name="Default" />
</listeners>
</trace>
</system.diagnostics>
它正在将错误写入 log4net.txt,我的意思是强制的。
最后一种方法有几个缺点:它不会将每个错误都附加到文件中,如果错误相同则不会写入它,我无法让侦听器将每个错误都写入该文件,只有一个(我不知道如何完全配置跟踪侦听器,可能是这样)。因此,它不会将日期和时间附加到对我来说是必需品的每一行。最后我不能给它结构(xml)。
即使监听器工作我需要使用 try/catch 方法,因为我正在使用 Enterprise 库中的 ExceptionHandling 来记录我的应用程序中的错误。
任何遇到过问题和/或有解决方案的人?
【问题讨论】:
标签: vb.net exception-handling log4net enterprise-library tracelistener