Класс SimpleFormatter
public class SimpleFormatter extends Formatter
LogRecord в удобочитаемом формате. Обычно это 1 или 2 строки. Настройка: SimpleFormatter инициализируется строкой формата, указанной в свойстве java.util.logging.SimpleFormatter.format, для форматирования сообщений журнала. Это свойство может быть определено в файле конфигурации свойств журнала или в качестве системного свойства. Если это свойство задано и в свойствах журнала, и в системных свойствах, будет использована строка формата, указанная в системном свойстве. Если это свойство не определено или заданная строка формата некорректна, используется реализуемый по умолчанию формат.
- С момента:
- 1.4
- См. также:
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
SimpleFormatter() |
Создаёт SimpleFormatter. |
Краткое описание методов
Методы, объявленные в классе java.util.logging.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"Это выводит 1 строку с уровнем журнала (
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"Это выводит 2 строки, где первая строка содержит отметку времени (
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"Это выводит 2 строки, аналогично предыдущему примеру, но с другим форматированием даты/времени и без вывода исключения и его трассировки:
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(java.util.logging.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://download.java.net/java/early_access/jdk24/docs/api/java.logging/java/util/logging/SimpleFormatter.html