1

log4net を使用してエラーをログ ファイルに記録する Web アプリがあります。xcopy を介して Web サイトを公開するとうまく動作しますが、パッケージ インストーラーをビルドすると、リモート ユーザーがサイトにアクセスすると log4net が動作しないように見えます。

web.config でimpersonate=trueを使用すると、log4net は、ログに記録されたユーザーである場合にのみエラーをログに記録します。

すべてのケースで正常に動作する別のアプリがありますが、パッケージはデプロイされていません。

誰か考えがありますか?

4

2 に答える 2

1

結局のところ、すべての人に書き込み許可を設定するのは許可の問題でした

よろしく

于 2008-12-11T15:34:11.347 に答える
0

動作中のアプリで同じ構成が使用されているため、そうは思いません

しかし、ここにあります

ディスクへの書き込み時に log4net が使用するユーザーは?! ログ フォルダーへの書き込み権限を追加する必要はありますか? impersonate=true を使用しているため、サイトにログインしたユーザーは、log4net がファイル システムへの書き込みに使用しているユーザーですよね?!

  <!-- log4net -->
  <log4net debug="false">
    <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
      <file value="D:\\WSBank\\Solution\\Logs\\Solution.log" />
      <appendToFile value="true" />
      <rollingStyle value="Size" />
      <maxSizeRollBackups value="10" />
      <maximumFileSize value="1024KB" />
      <staticLogFileName value="true" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
      </layout>
    </appender>
    <root>
      <level value="ALL" />
      <appender-ref ref="RollingFileAppender" />
    </root>
  </log4net>
于 2008-12-10T14:22:08.323 に答える