3

log4net を使用して、MVC 4 Web サイトでエラーを記録しようとしています。オフラインでは問題なく動作しますが、Web サイトを公開すると、log4net はログ ファイルを作成しません。

Web.config コードは次のとおりです。

  <log4net>
    <appender name="LogFileAppender" type="log4net.Appender.FileAppender">
      <file value="mylog.txt"/> 
      <appendToFile value="true"/>
      <layout type="log4net.Layout.PatternLayout">
        <header value="**"/>
        <footer value="**"/>
        <conversionPattern value="%newline%date [%thread] %-5level %logger - %message%newline" />
      </layout>
    </appender>

    <root>
      <level value="ALL"/>
      <appender-ref ref="LogFileAppender"/>
    </root>
  </log4net>

これをアセンブリに追加しました:

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

ロガーを呼び出すコードは次のとおりです。

public void logInfo(string message)
{
    log4net.Config.XmlConfigurator.Configure();
    logger.Info(message);
}
4

1 に答える 1

0

これはbcozです。ルートフォルダには、ログファイルを作成しようとしている場所への書き込み権限がありません。

書き込み権限を付与する手順:1)「フォルダ」を右クリックします2)プロパティに移動します3)セキュリティをクリックします4)追加をクリックします->全員を追加します->フルコントロールをチェックします これで正常に動作します。

于 2013-01-15T13:18:09.770 に答える