Класс SimpleFormatter
public class SimpleFormatter extends Formatter
LogRecord в удобочитаемом формате. Обычно описание занимает 1 или 2 строки. Конфигурация: SimpleFormatter инициализируется строкой формата, указанной в свойстве java.util.logging.SimpleFormatter.format, для форматирования сообщений журнала. Это свойство можно задать в файле конфигурации свойств ведения журнала или как системное свойство. Если это свойство задано и в свойствах ведения журнала, и в системных свойствах, будет использоваться строка формата, указанная в системном свойстве. Если это свойство не задано или указанная строка формата недопустима, формат по умолчанию зависит от реализации.
- Начиная с версии:
- 1.4
- См. также:
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
SimpleFormatter() |
Создает SimpleFormatter. |
Краткое описание методов
Методы, объявленные в классе Formatter
formatMessage, getHead, getTail
Подробное описание конструкторов
SimpleFormatter
public SimpleFormatter()
SimpleFormatter.Подробное описание методов
format
public String format(LogRecord record)
Форматирование можно настроить, указав строку формата в свойстве java.util.logging.SimpleFormatter.format. Указанный LogRecord будет форматироваться так, как если бы был выполнен вызов:
String.format(format, date, source, logger, level, message, thrown);
где аргументы следующие:-
format— строка форматаjava.util.Formatter, указанная в свойствеjava.util.logging.SimpleFormatter.format, либо формат по умолчанию. -
date— объектZonedDateTime, представляющий время события записи журнала в системном часовом поясеZoneId.systemDefault(). -
source— строка, представляющая вызывающий код, если он доступен; в противном случае — имя регистратора. -
logger— имя регистратора. -
level— уровень ведения журнала. -
message— отформатированное сообщение журнала, возвращаемое методомFormatter.formatMessage(LogRecord). При форматировании используетсяjava.text, а аргументjava.util.Formatter formatне используется. -
thrown— строка, представляющая исключение, связанное с записью журнала, и его трассировку стека, начинающуюся с символа новой строки, если они имеются; в противном случае — пустая строка.
Примеры форматов:
-
java.util.logging.SimpleFormatter.format="%4$s: %5$s [%1$tc]%n"Выводит одну строку с уровнем ведения журнала (
4$), сообщением журнала (5$) и временной меткой (1$) в квадратных скобках.WARNING: warning message [Tue Mar 22 13:11:31 PDT 2011] -
java.util.logging.SimpleFormatter.format="%1$tc %2$s%n%4$s: %5$s%6$s%n"Выводит две строки: первая содержит временную метку (
1$) и источник (2$); вторая — уровень ведения журнала (4$) и сообщение журнала (5$), за которыми следуют исключение и его трассировка стека (6$), если они имеются:Tue Mar 22 13:11:31 PDT 2011 MyClass fatal SEVERE: several message with an exception java.lang.IllegalArgumentException: invalid argument at MyClass.mash(MyClass.java:9) at MyClass.crunch(MyClass.java:6) at MyClass.main(MyClass.java:3) -
java.util.logging.SimpleFormatter.format="%1$tb %1$td, %1$tY %1$tl:%1$tM:%1$tS %1$Tp %2$s%n%4$s: %5$s%n"Выводит две строки, аналогичные примеру выше, но с другим форматом даты и времени; исключение и его трассировка стека не выводятся:
Mar 22, 2011 1:11:31 PM MyClass fatal SEVERE: several message with an exception -
java.util.logging.SimpleFormatter.format="%1$tb %1$td, %1$tY %1$tl:%1$tM:%1$tS.%1$tN %1$Tp %2$s%n%4$s: %5$s%6$s%n"Начиная с JDK 9,
java.util.loggingиспользуетjava.time, чтобы создавать более точные временные метки. Чтобы при указанном выше формате дополнительно выводились наносекунды, можно добавить.%1$tNк формату даты и времени:Feb 06, 2015 5:33:10.279216000 PM example.Main main INFO: This is a test
Этот метод также можно переопределить в подклассе. Для локализации и форматирования поля сообщения рекомендуется использовать вспомогательный метод Formatter.formatMessage(LogRecord).
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/25/docs/api/java.logging/java/util/logging/SimpleFormatter.html