2012-06-15 35 views
1

我嘗試在我的項目中包含log4net,並且出現了相當奇怪的問題。webconfig中的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" /> 

被跳過或無所謂。 任何想法我做錯了什麼?

+1

你是如何初始化你的日誌?你能提供一些示例日誌代碼嗎? – Paddy

回答

3

確保您已初始化的記錄在Application_Start

protected void Application_Start() 
{ 
    log4net.Config.XmlConfigurator.Configure(); 
    ... 
} 

或使用裝配級別屬性,如所示的documentation

[assembly: log4net.Config.XmlConfigurator()] 
0

在Global.asax文件將這個:

void Application_Start(object sender, EventArgs e) 
{ 
    log4net.Config.XmlConfigurator.Configure(); 
} 

你需要告訴log4net它怎麼笑uld在某處配置自己。 Global.asax是一個很好的地方。