9

そのため、Web .NET 4.0 アプリケーションで Log4Net をセットアップしようとしています。プロジェクトに正しい .dll を追加し、スターターとして Web.Config ファイルに以下を追加しました。

<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
<root>
  <level value="DEBUG" />
  <appender-ref ref="RollingLogFileAppender" />
</root>
</configSections>
 <log4net debug="true">
 <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
  <file value="C:\\TestProj\\TestLog.txt" />
  <appendToFile value="true" />
  <rollingStyle value="Size" />
  <maxSizeRollBackups value="10" />
  <maximumFileSize value="10MB" />
  <staticLogFileName value="true" />
  <layout type="log4net.Layout.PatternLayout">
    <conversionPattern value="%-5p %d %5rms %-22.22c{1} %-18.18M - %m%n" />
  </layout>
 </appender>

ただし、「log4net」セクションを Web.Config に追加すると、エラー メッセージが表示されます。

Web サーバーでデバッグを開始できません。一般的な構成の問題については、ヘルプを参照してください.....

サーバーが正しく実行されていることを確認してください。web.config に構文エラーがないことを確認します。

: このセクションのすべての内部を削除して、宣言のみを残すことができます。

<log4net></log4net>

それでも同じエラーが発生します。

このエラーを追跡する方法について、誰かが私にいくつかの指針を教えてもらえますか?

4

2 に答える 2

16

開始方法が正確にわからない開発者にとっては、以下が助けになるかもしれません

app.config の ConfigSections

<configuration>ライブラリがカスタム構成セクションを導入していることをアプリケーションに伝えることを忘れないでください。それが必須かどうかは完全にはわかりませんが、ルートタグ内の最初のセクションとして常に使用します。

<configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
</configSections>

app.config の log4net 構成

log4net にはさまざまなアペンダーが用意されていますが、私は通常 RollingFileAppender を使用しているため、このサンプルでも同じものを使用しています。残りのアペンダーはこちらで見つけることができます。

<log4net>
    <!-- file appender -->
    <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
      <file value="C:/logs/my_log_file.log"/>
      <appendToFile value="true"/>
      <rollingStyle value="Date"/>
      <maxSizeRollBackups value="30"/>
      <datePattern value=".yyyy-MM-dd"/>
      <staticLogFileName value="true"/>
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date [%thread] %-5level %logger - %message%newline"/>
      </layout>
    </appender>
    <root>
      <level value="DEBUG"/>
      <appender-ref ref="RollingFileAppender"/>
    </root>
  </log4net>

AssemblyInfo.cs ファイルを更新する

新しいプロジェクトを作成する必要があるときはいつでも、この手順を忘れてしまいます。XMLConfiguratorそのため、log4net の構成を実行するために監視するようにアプリケーションに指示する必要があることを忘れないでください。したがって、次の行は AssemblyInfo.cs ファイルの最後に配置されます。

[assembly: log4net.Config.XmlConfigurator(Watch = true)]

始めましょう

log4net.dllの参照を必ず含めてから、 次のコード行を使用してクラス内のロガーを初期化してください。

private static ILog log = LogManager.GetLogger(typeof(MyClass));

そして最後に、次のように使用しましょう

log.Info("Hello log4net");

ハッピーロギング:)

于 2013-10-09T23:00:47.990 に答える
1

log4netドキュメントのホームページでサンプル構成を見てください。
必要なタグを置き忘れた可能性があります。

于 2011-04-10T13:34:57.117 に答える