我尝试在我的项目中包含log4net并且有很奇怪的问题。
我看起来如下:
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821" />
<section name="microsoft.identityModel" type="Microsoft.IdentityModel.Configuration.MicrosoftIdentityModelSection, Microsoft.IdentityModel, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</configSections>
以后在webconfig中有:
<log4net>
(...)
</log4net>
Log4net不起作用 - 没有创建有错误的文件。
现在,当我更改用于“microsoft.identityModel”的目的配置部分(做了一些错字)并试图进入我的网站时 - 这是错误的。 但是当我改变“log4net”的目的配置部分时 - 网站运行良好 - 看起来像
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821" />
被跳过或无关紧要。 我有什么想法吗?
答案 0 :(得分:3)
确保您已在Application_Start
中初始化了记录器:
protected void Application_Start()
{
log4net.Config.XmlConfigurator.Configure();
...
}
或使用documentation:
中所示的程序集级别属性[assembly: log4net.Config.XmlConfigurator()]
答案 1 :(得分:0)
将它放在Global.asax文件中:
void Application_Start(object sender, EventArgs e)
{
log4net.Config.XmlConfigurator.Configure();
}
你需要告诉log4net它应该如何配置自己。 Global.asax是一个很好的地方。