Класс 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.Для совместимости со старыми анализаторами 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. |
Краткое описание методов
Методы, объявленные в классе Formatter
formatMessage | Модификатор и тип | Метод | Описание |
|---|---|---|
String |
formatMessage |
Локализует и форматирует строку сообщения из записи журнала. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создает и возвращает копию этого объекта. |
boolean |
equals |
Указывает, равен ли этот объект другому объекту. |
protected void |
finalize() |
Устарело, будет удалено: этот элемент API подлежит удалению в будущей версии. Финализация объявлена устаревшей и подлежит удалению в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
String |
toString() |
Возвращает строковое представление объекта. |
final void |
wait() |
Приостанавливает текущий поток до его пробуждения, обычно в результате вызова notify или interrupt. |
final void |
wait |
Приостанавливает текущий поток до его пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного периода реального времени. |
final void |
wait |
Приостанавливает текущий поток до его пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного периода реального времени. |
Подробное описание конструкторов
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(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.