【发布时间】:2012-12-03 00:13:16
【问题描述】:
我正在编写一个简单的测试项目来试验 log4net,但我马上就碰壁了。无论我在配置文件中做什么,我的记录器都会初始化,所有“IsXXXXEnabled”标志都设置为 false。这是我非常简单的 app.config:
<log4netgroup>
<log4net xsi:noNamespaceSchemaLocation="http://csharptest.net/downloads/schema/log4net.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<appender name="EventLogAppender" type="log4net.Appender.EventLogAppender">
<param name="LogName" value="Application" />
<param name="ApplicationName" value="HelloProgram" />
<threshold value="DEBUG"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%logger - %newline%message" />
</layout>
</appender>
<root>
<level value="DEBUG" />
<appender-ref ref="EventLogAppender" />
</root>
<logger name="HelloLogger">
<level value="DEBUG" />
<appender-ref ref="EventLogAppender" />
</logger>
</log4net>
</log4netgroup>
这是 Main 中的简单测试:
ILog Log = LogManager.GetLogger("HelloLogger");
if(Log.IsErrorEnabled)
Console.WriteLine("The logger is working!");
else
Console.WriteLine("Nope");
输出是“不”。我尝试将阈值和电平值切换为“ALL”,但没有任何改变。这看起来很简单,我缺少什么来启用一切? 谢谢
【问题讨论】:
-
为什么会有这些命名空间?
-
如果您指的是 log4net.xsd,它是 log4net 架构。该参考将其添加到智能感知中,我强烈推荐它。发现于csharptest.net。
标签: log4net app-config