我正在编写一个简单的测试项目来试验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>
Run Code Online (Sandbox Code Playgroud)
以下是Main中的简单测试:
ILog Log = LogManager.GetLogger("HelloLogger");
if(Log.IsErrorEnabled)
Console.WriteLine("The logger is working!");
else
Console.WriteLine("Nope");
Run Code Online (Sandbox Code Playgroud)
输出是"不".我尝试将阈值和级别值切换为"ALL",但没有任何改变.这看起来很简单,我错过了什么来启用一切?谢谢