Как повернуть файлы журнала на основе времени, а не размера в Log4j?

Что относительно Visual Studio Express Microsoft? http://www.microsoft.com/express/default.aspx SQL Server Express также в той ссылке...

18
задан Thiago Negri 15 December 2011 в 12:58
поделиться

4 ответа

Возможно, вы захотите использовать DailyRollingFileAppender . Например, для ежечасной прокрутки их следует использовать DatePattern '.' Yyyy-MM-dd-HH . Для файла log4j.properties:

log4j.appender.myAppender=org.apache.log4j.DailyRollingFileAppender
log4j.appender.myAppender.DatePattern='.'yyyy-MM-dd-HH
...

Или для вашей программной конфигурации:

DailyRollingFileAppender appender = new DailyRollingFileAppender();
appender.setDatePattern("'.'yyyy-MM-dd-HH");

Logger root = Logger.getRootLogger();
root.addAppender(appender);

К сожалению, использование DailyRollingFileAppender означает, что вы не можете ограничить размер файла - это может быть проблематично, если у вас есть тонны журналов за заданный период времени. .

30
ответ дан 30 November 2019 в 07:18
поделиться

Еще одна вещь, с которой следует быть осторожной при работе с любым прикрепляющим файлом, - это убедиться, что только одна JVM обращается к определенному файлу журнала за раз. Это связано с тем, что log4j кэширует размер файла журнала по соображениям производительности, и ваша «прокрутка» будет нестабильной, если несколько JVM будут обращаться к одним и тем же файлам.

3
ответ дан 30 November 2019 в 07:18
поделиться

Используйте DailyRollingFileAppender .

В частности, установка его свойства 'datePattern' на '.' Yyyy-MM-dd-HH будет заставляет файл вращаться каждый час.

2
ответ дан 30 November 2019 в 07:18
поделиться

Вам необходимо использовать DailyRollingFileAppender . Несмотря на вводящее в заблуждение название, его можно настроить для работы в настраиваемые периоды времени до минут.

0
ответ дан 30 November 2019 в 07:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: