我试图在Visual Studio 2005的ASP.NET应用程序中使用log4net.我已经声明了一个logger实例,如下所示:
Private Shared ReadOnly log As ILog = LogManager.GetLogger("")
我试图以下列方式使用它:
If log.IsDebugEnabled Then log.Debug("Integration Services Constructed") End If
这是我的配置:
不幸的是,log.IsDebugEnabled
总是假的.
如何配置log4net以便我只能记录调试消息?
在调用LogManager.GetLogger("")之前
你必须调用log4net.Config.XmlConfigurator.Configure(); 在ASP.NET应用程序中,您可能希望将此调用放在Application_Start中
是的,就像安森所说的那样.此外,如果您在类库中调用Configure,则可以通过向类添加属性来执行此操作:
[assembly: XmlConfigurator(Watch = true)]
如果您正在使用log4net.config
文件,请改为使用它:
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", Watch = true)]
如果您使用单独的log4net配置文件,请执行以下操作:按照所有其他设置说明操作后,确保右键单击visual studio解决方案资源管理器中的文件,选择属性,展开"高级"选项组,设置"复制到输出目录"值为"始终复制".那会魔术...... :)欢呼!