Полагаю, я просто неправильно его настроил; у кого-нибудь есть рабочий пример настройки RollingFileAppender?
Мне кажется, что это нормально работает @mcherm. Смотри ниже.
Вы уверены , что используете свойства log4j.properties, которые, как вы думаете, вы используете? Попробуйте изменить .File
на другой путь, чтобы увидеть, переходит ли вывод журнала в новый файл. Какую версию log4j вы используете? Я бегу 1.2.15.
Надеюсь, это поможет.
Я создал следующую тестовую программу:
package com.j256.ormlite;
import org.apache.log4j.Logger;
public class Foo {
private static Logger logger = Logger.getLogger(Foo.class);
public static void main(String[] args) {
for (int x = 0; x < 10000000; x++) {
logger.error("goodness this shouldn't be happening to us right here!!!!");
}
}
}
Мой файл log4j.properties содержит:
log4j.appender.MAIN_LOG=org.apache.log4j.RollingFileAppender
log4j.appender.MAIN_LOG.File=${catalina.base}/logs/webtop.log
log4j.appender.MAIN_LOG.layout=com.j256.ormlite.Log4JSimpleLayout
log4j.appender.MAIN_LOG.MaxFileSize=10MB
log4j.appender.MAIN_LOG.MaxBackupIndex=5
log4j.appender.MAIN_LOG.append=true
log4j.rootCategory=ALL, MAIN_LOG
Обратите внимание, что я удалил DatePattern, который не был действителен для моего RollingFileAppender. Мой макет:
package com.j256.ormlite;
import org.apache.log4j.spi.LoggingEvent;
public class Log4JSimpleLayout extends org.apache.log4j.Layout {
@Override
public String format(LoggingEvent event) {
return "log message = " + event.getMessage().toString() + "\n";
}
@Override
public boolean ignoresThrowable() {
return true;
}
public void activateOptions() {
}
}
Запуск с -Dcatalina.base=/tmp/
Я получаю файлы в /tmp/logs/
, которые доходят до индекса # 5 и имеют размер 10 МБ. Если я настрою MaxFileSize
или MaxBackupIndex
, он настроится соответствующим образом.