上次我配置Log4Net是两周前。 我总是遇到同样的问题:让它运行。
上次我安装了nuget。
我的BaseClass BaseController在命名空间前有[assembly: log4net.Config.XmlConfigurator(Watch = true)]
,而private static readonly ILog log = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
的私有成员
Web.Config一如既往地使用正确的部分和几个appender:
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/>
并且一如既往,它没有任何提示可能会出现问题。
没有使用rollingfileappander,traceappender或任何其他appender创建的文件。它与Log4Net始终相同:查找错误。
为什么这个框架没有抛出例外?
答案 0 :(得分:2)
为什么Log4Net从不抛出异常?
Log4net是一种尽力而为的故障停止日志记录系统,这意味着它可以不与您的正常程序流进行交互。
您可以启用内部log4net日志记录,以查看日志记录失败的原因:
<appSettings>
<add key="log4net.Internal.Debug" value="true"/>
</appSettings>
和
<system.diagnostics>
<trace autoflush="true">
<listeners>
<add
name="textWriterTraceListener"
type="System.Diagnostics.TextWriterTraceListener"
initializeData="C:\tmp\log4net.txt" />
</listeners>
</trace>
</system.diagnostics>
在您的配置中。