2

を使用するのはこれが初めてですLog4net。エラーは表示されませんが、ファイルに書き込んでいません。AppConfigファイルに次を追加しました。

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

 <log4net>
    <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%5level [%thread] (%file:%line) - %message%newline"/>
      </layout>
    </appender>

    <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender">
      <file value="C:\CE\FileControllerLog.txt"/>
      <layout type="log4net.Layout.PatternLayout">
        <!--<param name="ConversionPattern" value="%d [%t] %-5p %c %m%n"/>-->
        <param name="ConversionPattern" value="%d %m%n"/>
      </layout>
      <appendToFile value="true"/>
      <rollingStyle value="Composite"/>
      <maxSizeRollBackups value="2"/>
      <maximumFileSize value="10MB"/>
      <staticLogFileName value="true"/>
    </appender>
    <logger name="FileControllerLog">
      <level value="INFO"/>
      <appender-ref ref="LogFileAppender" />
      <appender-ref ref="ConsoleAppender"/>
    </logger>
[assembly: log4net.Config.XmlConfigurator(Watch = true)] //added in assembly info file

そしてコードで:

ILog logger = log4net.LogManager.GetLogger("FileControllerLog");
logger.Info("Method starts");

ロギングではありません。

4

3 に答える 3

1

ユーザー権限の問題かもしれません。

Windows サービスは、多くの場合、書き込み権限を持たない NetworkService 資格情報で開始されます。

C:\CE フォルダーに書き込み権限と midify 権限を追加するか、別のアペンダー (EventLog アペンダーなど) を使用できます。

幸運を

于 2013-07-26T08:43:24.050 に答える
0

サービスを実行している資格情報の下にあるユーザーが、ログを保存しようとしている場所への書き込み権限を持っていることを確認してください

于 2013-07-26T07:10:52.000 に答える