2015-04-02 133 views
1

我上次配置Log4Net的时间是两周前。 我总是有同样的问题:让它运行。为什么Log4Net从不抛出异常

上次我安装了nuget。 我BaseClass的BaseController得到了命名空间,并与private static readonly ILog log = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);

的Web.Config用正确的部分私有成员一如既往和一些附加目的地之前
[assembly: log4net.Config.XmlConfigurator(Watch = true)]
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/>
和往常一样它不工作,没有任何暗示什么事情成为问题。
没有使用rollingfileappander,traceappender或任何其他appender创建文件。它始终与Log4Net相同:找到错误。
为什么这个框架不会抛出异常?

+0

可能是其记录的地方,毕竟它是一个记录器。您也可以查看eventvwr – Saravanan 2015-04-03 04:09:01

+2

日志记录库非常谦虚,他们认为自己不足以防止程序运行。而且他们有很多事要谦虚,程序员不费力气就能找出他们如何工作或阅读图书馆的常见问题解答以获得帮助。 – 2015-04-03 10:26:47

回答

2

为什么Log4Net从不抛出异常?

Log4net是尽力而为和故障停止日志记录系统,这意味着它被设计为不与您的正常程序流程交互。

您可以启用内部lo​​g4net的日志,看看为什么日志失败:

<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> 
在配置

log4net faq

+0

哇,那很好。谢谢。但日志并不是说为什么它不记录日志。 – Sardoan 2015-04-03 13:07:11

相关问题