DailyRollingFileHandler ---- Файлы должны вращаться ежедневно - PullRequest
2 голосов
/ 18 марта 2010

У нас есть требование, которое требует наличия обработчика, расширенного от ведения журнала Java и позволяющего ежедневно поворачивать файлы.

В настоящее время ведение журнала утилит Java поддерживает ротацию в зависимости от размера файла с помощью File Handler. Он не поддерживает ротацию ежедневно. http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6350749

Итак, мы ищем такого аппендера, который допускает ежедневную ротацию. Мы хотели бы написать такой обработчик и какой соответствующий обработчик расширить для ... StreamHandler или FileHandler? И другие вопросы: есть ли способ, которым мы можем сконфигурировать 2 разных файла для одного обработчика, скажем, например, FileHandler, например, мы хотели бы, чтобы какие-то сообщения были захвачены в одном файле, а другие сообщения в другом файле.

Буду признателен за любые комментарии.

Ответы [ 3 ]

1 голос
/ 18 марта 2010

Ротация журналов - Скажите руководству, что Apache является одним из крупнейших кодовых домов в мире, и я уверен, что миллионы проектов используют его. Но так как вы повторили «Решение по управлению», вы можете написать свой собственный FileHandler или использовать обработчик файлов Java, написать свои задачи, написать множество сотен сценариев тестов (например, кварцевый переход на файл, когда обработчик добавляет их)

FileHander, записывающий в два файла - Либо подкласс FileHandler (обработчик файлов должен знать, когда отправлять эти два файла). Но предписанные решения будут состоять в том, чтобы использовать два фактически разных регистратора с двумя разными именами с двумя приложенные Один Java-источник может регистрировать столько регистраторов, сколько ему нужно, поэтому

class MyClass {
    Logger fileLogger = Logger.getLogger("something.mapped.to.file");
    Logger dbLogger = Logger.getLogger("something.mapped.to.db");

    public void someMethod() {
        dbLogger.log("XXX");
        fileLogger.log("YYY");
    }
}
1 голос
/ 04 октября 2012

Вам не нужно задание Quartz. Проверяйте в каждом журнале, есть ли необходимость сломать файл.

0 голосов
/ 18 марта 2010

Вы можете написать планировщик (кварцевый планировщик или что-то подобное), который работает в 00:00 часов ежедневно. Пусть код выполняет функции FileHandler и выполняет ротацию файлов.

...