Класс XMLFormatter
public class XMLFormatter extends Formatter
Спецификация 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форматера.Для совместимости со старыми парсерами, XMLFormatters могут быть сконфигурированы для возврата к старому формату, указав свойство
<xml-formatter-fully-qualified-class-name>.useInstant = falseв конфигурации ведения журнала. КогдаuseInstantравноfalse, старый формат будет сохранён. КогдаuseInstantравноtrue(по умолчанию), элемент<nanos>будет напечатан, а элемент<date>будет содержать отформатированное время события.Например, чтобы сконфигурировать обычные экземпляры XMLFormatter для пропуска нового элемента
<nano>,java.util.logging.XMLFormatter.useInstant = falseможет быть указано в конфигурации ведения журнала. - Since:
- 1.4
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
XMLFormatter() |
Создаёт новый экземпляр XMLFormatter. |
Краткое описание методов
Методы, объявленные в классе java.util.logging.Formatter
formatMessage
Подробное описание конструкторов
XMLFormatter
public 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)
Этот метод может быть переопределен в подклассе. Рекомендуется использовать удобный метод Formatter.formatMessage(java.util.logging.LogRecord) для локализации и форматирования поля сообщения.
getHead
getTail
© 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/XMLFormatter.html