web-dev-qa-db-ja.com

log4net構成-セクションが見つかりませんでした

これは私のエラーメッセージです:

log4net:ERROR XmlConfigurator: Failed to find configuration section 'log4net' in the application's .config file. Check your .config file for the <log4net> and <configSections> elements. The configuration section should look like: <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />

これは私のweb.configです:

<?xml version="1.0"?>
<configuration>
    <configSections>
       <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
    </configSections>

   <system.serviceModel>
   ...
   </system.serviceModel>

   <connectionStrings>
   ...
   </connectionStrings>

   <log4net>
   ...
   </log4net>

</configuration>

私の設定の何が問題になっていますか?

更新:

Web.Release.configも持っている:

<?xml version="1.0"?>    
<configuration xmlns:xdt="http://schemas.Microsoft.com/XML-Document-Transform">

    <system.web>
        <compilation xdt:Transform="RemoveAttributes(debug)" />
    </system.web>

    <system.serviceModel>
    ...
    </system.serviceModel>

    <connectionStrings>
    ...
    </connectionStrings>

    <log4net>
    ...   
       <root>
          <level value="DEBUG" xdt:Transform ="Replace"/>
       </root>
    </log4net>

</configuration>

Web.Test.cofig-リリース1と同じ

空のWeb.Debug.config:

<?xml version="1.0"?>

<configuration xmlns:xdt="http://schemas.Microsoft.com/XML-Document-Transform">    

</configuration>
17
MikroDel

XmlConfigurator.Configure()をどこかで呼び出していますか?

それらの呼び出しを削除し、[Assembly: log4net.Config.XmlConfigurator(Watch = true)]属性のみを追加します。

通常、別のファイルでlog4netを構成する方が簡単です。ファイルlog4net.configを作成し、属性を次のように変更します。

[Assembly: log4net.Config.XmlConfigurator(ConfigFile = "Log4Net.config", Watch = true)]

web.configのセクションを削除します。

24
Peter

_<configSections>_でセクションを定義することに問題はないようです。

プロジェクトのプロパティフォルダーのAssemblyInfo.csに[Assembly: log4net.Config.XmlConfigurator(Watch = true)]を追加してみてください。タグの下で設定が正しい場合、これでうまくいくはずです。

編集:

_XmlElement log4NetSection = (XmlElement)ConfigurationManager.GetSection("log4net");
            log4net.Config.XmlConfigurator.Configure(log4NetSection);
_
6
Siraj Mansour