13

これが私のweb.config情報です:

  <configSections>
        <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
      </configSections>
      <log4net>
        <root>
                <level value="ALL" />
        </root>
        <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
              <file value="c:\temp\log-file.txt" />
              <appendToFile value="true" />
              <rollingStyle value="Size" />
              <maxSizeRollBackups value="10" />
              <maximumFileSize value="1MB" />
              <staticLogFileName value="true" />
              <layout type="log4net.Layout.SimpleLayout" />
        </appender>
      </log4net>
...

ロガーを初期化するコードは次のとおりです。

protected void SendMessage()
    {
        log4net.Config.XmlConfigurator.Configure(); 
        ILog log = LogManager.GetLogger(typeof(Contact));
        ...
        log.Info("here we go!");
        log.Debug("debug afasf");
        ...
     }

私が何をしているように見えても、うまくいきません。「log4net.dll」を正しく参照しています。アプリケーションをデバッグすると、ログ オブジェクトが正しく開始されていることがわかります。これは、asp.net 3.5 フレームワーク Web プロジェクトです。アイデア/提案はありますか?

私は当初、このエラーはファイルの書き込み許可の制約が原因である可能性があると考えていましたが、そうではないようです (そうではないと思います)。

4

4 に答える 4

13

答えが見つかりました: web.config の構成セクションに requirePermission="false" タグが必要でした。

<configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" **requirePermission="false"**/>
</configSections>
于 2010-05-20T21:26:24.977 に答える
6

私が見る限り、ルートのアペンダーがありません:

<root>
  <level value="ALL" />
  <appender-ref ref="RollingFileAppender" />
</root>
于 2010-05-17T15:35:27.167 に答える
0

Web サーバーでデバッグ ビューを実行することはできますか?

その場合、log4net が何らかのエラー (アクセス エラーや構成ファイルの読み取りエラーなど) を報告しているかどうかを確認できる場合があります。

于 2010-05-19T12:22:10.927 に答える