log 4 jログパスに日付を追加
ログ4 jでログを使用するには、ログパスに毎日の日付があり、ファイルサイズ5 Mでファイルが追加されます.
インプリメンテーションモード
log4j:
メモリでパスを変更し、日付を追加します.
最後のアクティブ化設定が重要です.
もう1つの問題は、logs/service.logの空のファイルを生成することです.まだ原因を探しています.
インプリメンテーションモード
log4j:
<appender name="serviceLog"
class="org.apache.log4j.RollingFileAppender">
<param name="Encoding" value="UTF-8" />
<param name="File" value="logs/service.log" />
<param name="Append" value="true" />
<param name="MaxBackupIndex" value="10" />
<param name="MaxFileSize" value="5MB" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="[%d{yy/MM/dd HH:mm:ss:SSS}][%C-%L] %m%n" />
</layout>
</appender>
<root>
<level value="debug" />
<appender-ref ref="serviceLog" />
</root>
メモリでパスを変更し、日付を追加します.
String currentDateTem = CommonUtil.getCurrentDateString("yyyyMMdd");
if(currentDate.equals(currentDateTem)){
return;
}else{
currentDate = currentDateTem;
}
FileAppender appender = (FileAppender) LogManager.getLoggerRepository().getRootLogger().getAppender("serviceLog");
String fileName = appender.getFile();
String[] filepaths = fileName.split("/");
String newFileName = null;
// , , ,
if(filepaths.length == 1){
newFileName = currentDate + "/" + fileName;
}else{
Boolean flag = Boolean.FALSE;
for(String str : filepaths){
if(!flag){
newFileName = str + "/" + currentDate;
flag = Boolean.TRUE;
}else{
newFileName = newFileName + "/" + str;
}
}
}
appender.setFile(newFileName);
appender.activateOptions(); //
最後のアクティブ化設定が重要です.
もう1つの問題は、logs/service.logの空のファイルを生成することです.まだ原因を探しています.