как добавить метку времени к имени файла для java.util.logging.FileHandler.pattern - PullRequest
5 голосов
/ 24 марта 2010

Привет, мне было интересно, если кто-нибудь знает способ добавить метку времени к имени файла журнала, указанному в logging.properties java.util.logging.FileHandler.pattern

похоже на что-то довольно прямолинейное, но я не могу найти решение этой проблемы где-либо.

Спасибо

Ответы [ 4 ]

4 голосов
/ 20 мая 2010

Боюсь, что просто с помощью конфигурации вы не сможете установить имя файла так, как вам нужно.

Посмотрите на код в FileHandler.generate(), чтобы убедить вас.

Что вы можете сделать, это написать свой собственный FileHandler, который будет обрабатывать это именование, или переключиться на другую структуру журнала.

Если вы используете java.util.logging, я написал несколько лет назад Formatter & Handler , который все еще может быть полезным, не стесняйтесь использовать.

1 голос
/ 24 сентября 2010

Вы можете создать экземпляр FileHandler в коде с параметрами pattern, limit, count и т. Д. Таким образом, можно создать строку шаблона, состоящую из даты и времени.

Пример кода:

String timeStamp = new SimpleDateFormat().format( new Date() );
FileHandler fh = new FileHandler( "./jay_log_%u.%g_" + timeStamp + ".log", 30000, 4);
logger.addHandler(fh);
0 голосов
/ 13 июля 2015

Чтобы создать файл с именем текущей даты / времени:

Date date = new Date() ; SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH-mm-ss") ; File file = new File(dateFormat.format(date) + ".txt") ;

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

Вы можете использовать SLF4J, который снова указывает на пакеты java.util.logging, которые, кажется, имеют эту функцию http://javablog.co.uk/2008/07/12/logging-with-javautillogging/

в качестве альтернативы для подхода сторонних фреймворков вы можете использовать CustomFormatter, образец которого уже доступен здесь, http://www.kodejava.org/examples/458.html

...