2012-01-23 18 views
2

今日私に何か変わったことが起きていた。私はlog4netのセットアップとすべての正常に動作していたとasp.netのmvcアプリケーションがあります。何かがどこかで変更されているはずで、今は何もログに記録されていません(ログファイルが作成されていません)。 c:\logs\api\apilog.txtファイルが作成されることは決してありませんいくつかの理由Log4netの設定問題

<configSections> 
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/> 
    </configSections> 
    <log4net> 
    <appender name="FileAppender" type="log4net.Appender.RollingFileAppender"> 
     <file value="c:\logs\api\ApiLog.txt" /> 
     <appendToFile value="true" /> 
     <layout type="log4net.Layout.PatternLayout"> 
     <conversionPattern value="%date - %message%newline" /> 
     </layout> 
    </appender> 
    <root> 
     <level value="ALL" /> 
     <appender-ref ref="FileAppender" /> 
    </root> 
    </log4net> 

は、ここに私のglobal.asax.cx

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

ここに私のweb.configファイルで私の設定だのです。私はこれに私のapplication_start方法を変更した場合しかし、それは正常に動作します:

log4net.Config.XmlConfigurator.Configure(new FileInfo("DirectPathToMy\web.config")); 

なぜConfigure()を呼び出す任意のアイデアは、デフォルトでは、私のweb.configファイル内の設定を見つけていませんか?

+2

です''セクションがルートの '〜/ web.config'ファイルに定義されていて、'〜/ Views/web.config'に定義されていないことを確認してください。 –

答えて

2

あなたのアプローチがうまくいかない理由はわかりませんが、問題はプロジェクトで有効になっていることを確認する必要があることです。

私は通常のプロパティ/の下に私のAssemblyInfo.csでアセンブリレベル基準としてこれを置く:

[アセンブリ:log4net.Config.XmlConfigurator()]

参考:あなたは http://logging.apache.org/log4net/release/manual/configuration.html

+0

私はあなたが「活性化された」とは何を意味するのか分かりません。私はApplication_Startupメソッドから呼び出します。それで足りないの?すべてが前に働いたようだ。 – Micah

+0

それは動作します...しかし、なぜそれをapplication_startから呼び出さないのですか? – Micah