Класс 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. Кодировка символов может быть установлена в обработчике вывода (output Handler).
- Требования к реализации:
- Начиная с 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. - С:
- 1.4
Конструкторы
| Конструктор | Описание |
|---|---|
XMLFormatter() |
Создаёт новый экземпляр XMLFormatter. |
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
String |
format(LogRecord record) |
Форматирует заданное сообщение в XML. |
String |
getHead(Handler h) |
Возвращает строку заголовка для набора записей, отформатированных в XML. |
String |
getTail(Handler h) |
Возвращает строку подвала для набора записей, отформатированных в XML. |
Методы, унаследованные от класса java.util.logging.Formatter
formatMessage
Методы, унаследованные от класса java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Подробное описание конструкторов
XMLFormatter
public XMLFormatter()
Создаёт новый экземпляр XMLFormatter.
- Требования к реализации:
- Начиная с JDK 9, XMLFormatter будет выводить время события записи (record event time) в формате Instant. Это время имеет наилучшее разрешение, доступное в системе. Элемент
<date>будет содержать время события в формате, отформатированном с помощьюDateTimeFormatter.ISO_INSTANT. Кроме того, будет напечатан необязательный элемент<nanos>, содержащий корректировку наносекунд, если время события содержит некоторые наносекунды ниже разрешения миллисекунд.Это новое поведение может быть отключено, и старый формат восстановлен, указав свойство в конфигурации журналирования. Если
LogManager.getLogManager().getProperty( this.getClass().getName()+".useInstant")равно"false"или"0", восстанавливается старый формат.
Подробное описание методов
format
public String format(LogRecord record)
Форматирует заданное сообщение в XML.
Этот метод может быть переопределён в подклассе. Рекомендуется использовать удобный метод Formatter.formatMessage(java.util.logging.LogRecord) для локализации и форматирования поля сообщения.
- Задано в:
-
formatв классеFormatter - Параметры:
-
record— запись журнала (log record) для форматирования. - Возвращает:
- отформатированную запись журнала
getHead
public String getHead(Handler h)
Возвращает строку заголовка для набора записей, отформатированных в XML.
- Переопределяет:
-
getHeadв классеFormatter - Параметры:
-
h— целевой обработчик (может быть null) - Возвращает:
- валидная строка XML
getTail
public String getTail(Handler h)
Возвращает строку подвала для набора записей, отформатированных в XML.
© 1993, 2020, 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/11/docs/api/java.logging/java/util/logging/XMLFormatter.html