2012-08-23 15 views
5

生成:つまりlog4netの私は、次のパターンでログファイル名を作成したい間違ったログファイル名

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.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 

なぜですか?

答えて

7

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

また、log4net 1.2.11を使用している場合、<preserveLogFileNameExtension>を使用すると、datePatternも現在のファイルに格納されます。

<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> 

+0

+1。私は自分のRollingFileAppenderを作成していましたが、これらの新しい設定で最新のlog4netを使用するように切り替えました。 –

0

<rollingStyle value="Date" />を削除します。

+0

理由:

私はこれでは、設定が次のようになりたいものだと思いますか?このタグを削除すると、毎日新しいファイルを作成するためにログが停止します。 –

-1

RollingFileAppenderでこの動作を変更すると思わないので、独自のアペンダを作成する必要があります。

関連する問題