猿问

如何查找log4net问题

如何查找log4net问题

我一直在使用log4net,但是有一件事我从来没有弄明白,那就是如何知道里面发生了什么。例如,我的项目中有一个控制台附录和一个数据库附录。我对数据库和代码做了一些修改,现在数据库附录不再工作了。我最终会找出原因,但如果我能看到log4net内部发生了什么,这会有很大帮助。

log4net是否生成任何可以查看的输出,以试图确定问题的来源?


慕标5832272
浏览 354回答 3
3回答

婷婷同学_

首先,必须在应用程序配置文件上设置此值:<configuration> &nbsp;&nbsp;&nbsp;<appSettings> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<add&nbsp;key="log4net.Internal.Debug"&nbsp;value="true"/> &nbsp;&nbsp;&nbsp;</appSettings></configuration>然后,要确定要在其中保存输出的文件,可以在同一个.config文件中添加以下代码:<configuration>...<system.diagnostics> &nbsp;&nbsp;&nbsp;&nbsp;<trace&nbsp;autoflush="true"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<listeners> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<add&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name="textWriterTraceListener"&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;type="System.Diagnostics.TextWriterTraceListener"&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;initializeData="C:\tmp\log4net.txt"&nbsp;/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</listeners> &nbsp;&nbsp;&nbsp;&nbsp;</trace></system.diagnostics>...</configuration>您可以在“如何启用log4net内部调试”下面找到更详细的说明?在log4net FAQ页面.

繁星coding

如果使用的是log4net配置文件,还可以通过将顶部节点更改为:<log4net&nbsp;debug="true">这将在重新加载配置并假定您的跟踪侦听器正确设置后工作。

HUWWW

除了上面的答案之外,您还可以使用这一行实时查看日志,而不是c:\tmp\log4net.txt输出。log4net.Util.LogLog.InternalDebugging&nbsp;=&nbsp;true;例如,在控制台应用程序中,可以添加这些内容,然后实时查看输出。它有利于在小型测试工具中调试log4net,以查看您正在测试的Appder发生了什么。
随时随地看视频慕课网APP
我要回答