5

次のパターンでログ ファイル名を作成したいと考えています。

SBRF_20120820.log
SBRF_20120821.log
SBRF_20120822.log
SBRF_20120823.log

つまり、毎日新しいファイルを作成します。そのため、次の構成を作成します。

<log4net>
    <appender name="FileAppender" type="log4net.Appender.RollingFileAppender, log4net">
        <file type="log4net.Util.PatternString" value="Logs/SBRF_%date{yyyyMMdd}.log" />
        <appendToFile value="true" />
        <rollingStyle value="Date" />
        <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date %-5level - %message%newline" />
        </layout>
    </appender>
    <logger name="LogEmArquivo">
        <level value="INFO" />
        <appender-ref ref="FileAppender" />
    </logger>
</log4net>

プログラムを実行すると、たとえば今日、ファイルSBRF_20120823.logが作成されます。SBRF_20120823.logしかし、次の日にログはファイルに書き込み続け、作成されるファイルは次のとおりです。

SBRF_20120823.log.2012-08-23
SBRF_20120823.log.2012-08-24
SBRF_20120823.log.2012-08-25
SBRF_20120823.log.2012-08-26

明日プログラムを実行すると、作成されるファイルは次のとおりです。

SBRF_20120824.log.2012-08-24
SBRF_20120824.log.2012-08-25
SBRF_20120824.log.2012-08-26
SBRF_20120824.log.2012-08-27

なんで?

4

3 に答える 3

7

<file> には日付パターンを入れません。これはファイル名の静的部分です。<datePattern> に入れる必要があります。

また、log4net 1.2.11 を使用している場合は、現在のファイルにも datePattern を配置する <preserveLogFileNameExtension> を使用できます。

これは、構成を次のようにしたいものだと思います。

<log4net>
  <appender name="FileAppender" type="log4net.Appender.RollingFileAppender, log4net">
      <file type="log4net.Util.PatternString" value="Logs/SBRF_.log"/>
      <appendToFile value="true" />
      <rollingStyle value="Date" />
      <datePattern value="yyyyMMdd" />
      <preserveLogFileNameExtension value="true"/>
      <staticLogFileName value="false" />
      <layout type="log4net.Layout.PatternLayout">
          <conversionPattern value="%date %-5level - %message%newline" />
      </layout>
  </appender>
  <logger name="LogEmArquivo">
      <level value="INFO" />
      <appender-ref ref="FileAppender" />
  </logger>

于 2012-08-23T22:41:43.610 に答える
0

を取り外します<rollingStyle value="Date" />

于 2012-08-23T11:45:17.110 に答える
-1

RollingFileAppender でこの動作を変更するとは思わないでください。そのため、独自のアペンダーを作成する必要があります。

于 2012-08-23T12:48:12.903 に答える