1

プロジェクトに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」の設定セクションを意図的に変更し(タイプミスをしました)、自分のWebサイトにアクセスしようとすると、エラーが発生します。しかし、「log4net」の設定セクションを意図的に変更すると、Webサイトは正常に機能します。

<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821" />

スキップされるか、問題ではありません。私が間違っていることについて何か考えはありますか?

4

2 に答える 2

3

次の場所でロガーを初期化したことを確認してくださいApplication_Start

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

または、ドキュメントに示されているように、アセンブリレベル属性を使用します。

[assembly: log4net.Config.XmlConfigurator()]
于 2012-06-15T08:57:03.230 に答える
0

これを Global.asax ファイルに入れます。

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

log4net に、どこかでどのように構成する必要があるかを伝える必要があります。Global.asax はこれに適した場所です。

于 2012-06-15T09:03:26.160 に答える