これは私のエラーメッセージです:
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>
XmlConfigurator.Configure()
をどこかで呼び出していますか?
それらの呼び出しを削除し、[Assembly: log4net.Config.XmlConfigurator(Watch = true)]
属性のみを追加します。
通常、別のファイルでlog4netを構成する方が簡単です。ファイルlog4net.config
を作成し、属性を次のように変更します。
[Assembly: log4net.Config.XmlConfigurator(ConfigFile = "Log4Net.config", Watch = true)]
web.config
のセクションを削除します。
_<configSections>
_でセクションを定義することに問題はないようです。
プロジェクトのプロパティフォルダーのAssemblyInfo.csに[Assembly: log4net.Config.XmlConfigurator(Watch = true)]
を追加してみてください。タグの下で設定が正しい場合、これでうまくいくはずです。
編集:
_XmlElement log4NetSection = (XmlElement)ConfigurationManager.GetSection("log4net");
log4net.Config.XmlConfigurator.Configure(log4NetSection);
_