Spec-Zone.ru › OpenJDK 25

Класс XMLFormatter

java.lang.Object
java.util.logging.Formatter
java.util.logging.XMLFormatter
public class XMLFormatter extends Formatter
Форматирует LogRecord в стандартном формате XML.

Спецификация DTD приведена в приложении A спецификации Java Logging APIs.

XMLFormatter можно использовать с произвольными кодировками символов, но обычно рекомендуется использовать UTF-8. Кодировку символов можно задать в выходном обработчике.

Требования к реализации:
Начиная с JDK 9, экземпляры LogRecord содержат Instant, которая может иметь наносекунды с точностью выше миллисекундной. Спецификация DTD была обновлена, чтобы допускать необязательный элемент <nanos>. По умолчанию XMLFormatter вычисляет поправку наносекунд ниже миллисекундной точности (с помощью LogRecord.getInstant().getNano() % 1000_000) — и если она не равна 0, это значение поправки будет выведено в новом элементе <nanos>. Затем момент события можно восстановить с помощью Instant.ofEpochSecond(millis/1000L, (millis % 1000L) * 1000_000L + nanos), где millis и nanos представляют числа, сериализованные соответственно в элементах <millis> и <nanos>.
Теперь элемент <date> будет содержать момент времени целиком в формате, заданном форматтером DateTimeFormatter.ISO_INSTANT.

Для совместимости со старыми анализаторами XMLFormatter можно настроить на возврат к старому формату, указав свойство <xml-formatter-fully-qualified-class-name>.useInstant = false в конфигурации журналирования. Если useInstant равно false, будет сохранено старое форматирование. Если useInstant равно true (значение по умолчанию), будет выведен элемент <nanos>, а элемент <date> будет содержать форматированный момент времени.

Например, чтобы настроить обычные экземпляры XMLFormatter на пропуск нового элемента <nano>, в конфигурации журналирования можно указать java.util.logging.XMLFormatter.useInstant = false.

Начиная с:
1.4

Краткое описание конструкторов

Конструктор Описание
XMLFormatter()
Создает новый экземпляр XMLFormatter.

Краткое описание методов

Модификатор и тип Метод Описание
String format(LogRecord record)
Форматирует указанное сообщение в XML.
String getHead(Handler h)
Возвращает строку заголовка для набора записей в формате XML.
String getTail(Handler h)
Возвращает строку завершающего элемента для набора записей в формате XML.

Методы, объявленные в классе Formatter

formatMessage

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Подробное описание конструкторов

XMLFormatter

public XMLFormatter()
Создает новый экземпляр XMLFormatter.
Требования к реализации:
Начиная с JDK 9, XMLFormatter выводит время события записи как Instant. Этот момент времени имеет наилучшую доступную в системе точность. Элемент <date> будет содержать момент времени в формате, заданном DateTimeFormatter.ISO_INSTANT. Кроме того, будет выведен необязательный элемент <nanos> с поправкой наносекунд, если момент времени содержит наносекунды с точностью выше миллисекундной.

Это новое поведение можно отключить, а старое форматирование восстановить, указав свойство в конфигурации журналирования. Если LogManager.getLogManager().getProperty( this.getClass().getName()+".useInstant") равно "false" или "0", будет восстановлено старое форматирование.

Подробное описание методов

format

public String format(LogRecord record)
Форматирует указанное сообщение в XML.

Этот метод можно переопределить в подклассе. Для локализации и форматирования поля сообщения рекомендуется использовать вспомогательный метод Formatter.formatMessage(LogRecord).

Определено в:
format в классе Formatter
Параметры:
record — запись журнала, которую необходимо отформатировать.
Возвращает:
отформатированную запись журнала

getHead

public String getHead(Handler h)
Возвращает строку заголовка для набора записей в формате XML.
Переопределяет:
getHead в классе Formatter
Параметры:
h — целевой обработчик (может быть null)
Возвращает:
корректную строку XML

getTail

public String getTail(Handler h)
Возвращает строку завершающего элемента для набора записей в формате XML.
Переопределяет:
getTail в классе Formatter
Параметры:
h — целевой обработчик (может быть null)
Возвращает:
корректную строку XML

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторское право © 1993, 2025, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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/XMLFormatter.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API