Используя log4j для очистки файла?

Я использую log4j для записи в файл со следующим файлом свойств:

log4j.rootLogger=DEBUG, FA

#File Appender
log4j.appender.FA=org.apache.log4j.FileAppender
log4j.appender.FA.File=temp.ppr
log4j.appender.FA.layout=org.apache.log4j.PatternLayout
log4j.appender.FA.layout.ConversionPattern= %m%n

Моя проблема в том, что при каждом запуске моей программы я хочу очистить файл "temp.ppr", а затем эффективно записать в него файл lo4j? или вы рекомендуете другие решения?

Спасибо

3 ответа

Решение

Вы могли бы сделать это:

log4j.appender.FA=org.apache.log4j.RollingFileAppender
log4j.appender.FA.MaxBackupIndex=1

А затем в коде запуска приложения:

Logger.getRootLogger().getAppender("FA").rollOver()

Таким образом, при каждом запуске программы существующий журнал перемещается в "temp.ppr.1", а "temp.ppr" запускается новый. Таким образом, у вас всегда есть журнал предыдущего запуска.

Вы пробовали просто установить append собственность на FileAppender в false?

log4j.appender.FA.append=false

Я бы посоветовал вам как часть вашего инструмента сборки (Apache Ant или Maven) позаботиться об удалении ненужного файла. В качестве альтернативы, если вы хотите сохранить резервную копию, вы можете использовать RollingFileAppender

Другие вопросы по тегам