используя log4j для очистки файла? - PullRequest
1 голос
/ 24 декабря 2010

я использую 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 ]

8 голосов
/ 24 декабря 2010

Вы пытались просто установить свойство append для FileAppender на false?

log4j.appender.FA.append=false
4 голосов
/ 24 декабря 2010

Вы можете сделать это:

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

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

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

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

0 голосов
/ 24 декабря 2010

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

...