Класс 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- строка, представляющая исключение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) для локализации и форматирования поля сообщения.
- Определено в:
-
formatв классеFormatter - Параметры:
-
record- запись журнала для форматирования. - Возвращает:
- отформатированная запись журнала
© 1993, 2023, 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/21/docs/api/java.logging/java/util/logging/SimpleFormatter.html