Пакет java.util.logging
Существуют четыре основных целевых использования журналов:
- Диагностика проблем конечными пользователями и системными администраторами. Это включает простое протоколирование распространенных проблем, которые можно исправить или отследить локально, таких как недостаток ресурсов, сбои безопасности и простые ошибки конфигурации.
- Диагностика проблем инженерами по техническому обслуживанию. Информация журнала, используемая инженерами по техническому обслуживанию, может быть значительно более сложной и подробной, чем информация, необходимая системным администраторам. Как правило, такая информация потребует дополнительного протоколирования внутри конкретных подсистем.
- Диагностика проблем организацией разработчиков. При возникновении проблемы на местах может потребоваться вернуть зафиксированную информацию журнала исходной команде разработчиков для диагностики. Эта информация журнала может быть чрезвычайно подробной и довольно труднопонятной. Такая информация может включать подробное отслеживание внутренней работы конкретных подсистем.
- Диагностика проблем разработчиками. API ведения журнала также могут использоваться для отладки приложения в процессе разработки. Это может включать в себя информацию журнала, генерируемую целевым приложением, а также информацию журнала, генерируемую библиотеками более низкого уровня. Однако следует отметить, что, хотя это использование вполне оправдано, API ведения журнала не предназначены для замены обычных инструментов отладки и профилирования, которые могут уже существовать в среде разработки.
Ключевые элементы этого пакета включают:
- Logger: Основной объект, к которому приложения обращаются для ведения журнала. Объект Logger используется для протоколирования сообщений для конкретной системной или прикладной компоненты.
- LogRecord: Используется для передачи запросов ведения журнала между системой ведения журнала и отдельными обработчиками журнала.
- Handler: Экспортирует объекты LogRecord в различные места назначения, включая память, потоки вывода, консоли, файлы и сокеты. Для этой цели существует множество подклассов Handler. Дополнительные обработчики могут быть разработаны третьими сторонами и предоставлены поверх основной платформы.
- Level: Определяет набор стандартных уровней ведения журнала, которые могут использоваться для управления выводом журнала. Программы могут быть сконфигурированы для вывода журнала для некоторых уровней, игнорируя вывод для других.
- Filter: Предоставляет тонкую настройку того, что регистрируется, сверх управления, предоставляемого уровнями журнала. API ведения журнала поддерживают механизм фильтра общего назначения, который позволяет коду приложения подключать произвольные фильтры для управления выводом журнала.
- Formatter: Предоставляет поддержку форматирования объектов LogRecord. Этот пакет включает два форматировщика, SimpleFormatter и XMLFormatter, для форматирования записей журнала соответственно в простом тексте или XML. Как и в случае с обработчиками, дополнительные форматировщики могут быть разработаны третьими сторонами.
API ведения журнала предлагают как статическое, так и динамическое управление конфигурацией. Статическое управление позволяет персоналу технической поддержки настроить определенную конфигурацию и затем перезапустить приложение с новыми параметрами ведения журнала. Динамическое управление позволяет вносить изменения в конфигурацию ведения журнала внутри работающей программы. API также позволяют включить или выключить ведение журнала для различных функциональных областей системы. Например, инженер по техническому обслуживанию может быть заинтересован в отслеживании всех событий AWT, но может не интересоваться событиями сокетов или управлением памятью.
Null-указатели
В общем случае, если не указано иное в документации Javadoc, методы и конструкторы будут выбрасывать NullPointerException, если им передается null-аргумент. Единственным общим исключением из этого правила является то, что методы ведения журнала в классе Logger (config, entering, exiting, fine, finer, finest, log, logp, logrb, severe, throwing и warning) принимают значения null для всех аргументов, кроме начального аргумента Level (если таковой имеется).
Связанная документация
Для обзора потока управления обратитесь к Обзору ведения журнала Java
- Since:
- 1.4
| Класс | Описание |
|---|---|
| ConsoleHandler | Этот Handler публикует записи журналов в System.err. |
| ErrorManager | Объекты ErrorManager могут быть присоединены к обработчикам для обработки любых ошибок, которые возникают в обработчике во время ведения журнала. |
| FileHandler | Простой файловый лог Handler. |
| Filter | Фильтр может использоваться для тонкого управления тем, что регистрируется, выходя за рамки управления, предоставляемого уровнями регистрации. |
| Formatter | Форматтер предоставляет поддержку форматирования LogRecords. |
| Handler | Объект Handler получает сообщения из журнала Logger и экспортирует их. |
| Level | Класс Level определяет набор стандартных уровней ведения журнала, которые можно использовать для управления выводом журналов. |
| Logger | Объект Logger используется для регистрации сообщений для конкретной системы или компонента приложения. |
| LoggingMXBean | Устарело. |
| LoggingPermission | Этот класс предназначен для разрешений ведения журнала. |
| LogManager | Существует один глобальный объект LogManager, который используется для поддержания набора общих состояний о Logger и службах журналов. |
| LogRecord | Объекты LogRecord используются для передачи запросов ведения журнала между фреймворком ведения журнала и отдельными обработчиками журнала. |
| MemoryHandler | Handler, который буферизует запросы в циклическом буфере в памяти. |
| SimpleFormatter | Печатает краткий сводный отчёт о LogRecord в удобочитаемом формате. |
| SocketHandler | Простая сетевая регистрация Handler. |
| StreamHandler | Регистрация на основе потоков Handler. |
| XMLFormatter | Форматирует LogRecord в стандартный XML-формат. |
© 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/package-summary.html
LoggingMXBeanбольше не являетсяplatform MXBeanи заменён наPlatformLoggingMXBean.