Пакет java.util.logging
Существует четыре основных целевых использования журналов:
- Диагностика проблем конечными пользователями и системными администраторами. Это включает в себя простое протоколирование распространённых проблем, которые можно исправить или отслеживать локально, таких как исчерпание ресурсов, сбои безопасности и простые ошибки конфигурации.
- Диагностика проблем инженерами по техническому обслуживанию. Информация журнала, используемая инженерами по техническому обслуживанию, может быть значительно более сложной и подробной, чем требуется системным администраторам. Как правило, такая информация потребует дополнительного ведения журнала в конкретных подсистемах.
- Диагностика проблем организацией разработки. При возникновении проблемы в поле может потребоваться возвращение записанной информации журнала исходной команде разработчиков для диагностики. Эта информация журнала может быть чрезвычайно подробной и довольно трудной для понимания. Такая информация может включать подробное отслеживание внутренней работы конкретных подсистем.
- Диагностика проблем разработчиками. API ведения журнала также можно использовать для отладки приложения в процессе разработки. Это может включать в себя информацию о ведении журнала, генерируемую целевым приложением, а также информацию о ведении журнала, генерируемую библиотеками более низкого уровня. Однако следует отметить, что, хотя это использование вполне оправдано, API ведения журнала не предназначено для замены обычных инструментов отладки и профилирования, которые могут уже существовать в среде разработки.
Ключевые элементы этого пакета включают:
- Логгер: основная сущность, с которой приложения производят вызовы ведения журнала. Объект Logger используется для протоколирования сообщений для конкретной системы или компонента приложения.
- Запись журнала: используется для передачи запросов ведения журнала между инфраструктурой ведения журнала и отдельными обработчиками журналов.
- Обработчик: экспортирует объекты LogRecord в различные места назначения, включая память, потоки вывода, консоли, файлы и сокеты. Для этой цели существует ряд подклассов Handler. Дополнительные обработчики могут быть разработаны третьими лицами и предоставлены поверх базовой платформы.
- Уровень: определяет набор стандартных уровней ведения журнала, которые можно использовать для управления выводом журнала. Программы могут быть сконфигурированы так, чтобы выводить журнал для некоторых уровней, игнорируя вывод для других.
- Фильтр: предоставляет тонкую настройку того, что будет записано в журнал, выходящую за рамки контроля, предоставляемого уровнями журнала. API ведения журнала поддерживает механизм универсального фильтра, который позволяет коду приложения подключать произвольные фильтры для управления выводом журнала.
- Форматировщик: предоставляет поддержку форматирования объектов LogRecord. В этом пакете содержатся два форматировщика, SimpleFormatter и XMLFormatter, для форматирования записей журнала соответственно в формате простого текста или XML. Как и в случае с обработчиками, дополнительные форматировщики могут быть разработаны третьими лицами.
API ведения журнала предлагает как статическую, так и динамическую конфигурацию. Статическая настройка позволяет персоналу технической поддержки настроить определённую конфигурацию, а затем повторно запустить приложение с новыми параметрами ведения журнала. Динамическая настройка позволяет обновлять конфигурацию ведения журнала в работающей программе. API также позволяет включать или отключать ведение журнала для различных функциональных областей системы. Например, инженер по техническому обслуживанию может быть заинтересован в отслеживании всех событий AWT, но может не быть заинтересован в событиях сокетов или управлении памятью.
Нулевые указатели
В общем случае, если не указано иное в javadoc, методы и конструкторы будут выбрасывать NullPointerException, если им будет передан нулевой аргумент. Единственное широкое исключение из этого правила заключается в том, что методы ведения журнала в классе Logger (config, entering, exiting, fine, finer, finest, log, logp, logrb, severe, throwing и warning) принимают нулевые значения для всех аргументов, кроме начального аргумента 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 | Разрешение, которое SecurityManager будет проверять, когда код, работающий с SecurityManager, вызывает один из методов управления ведением журнала (например, Logger.setLevel). |
| LogManager | Существует один глобальный объект LogManager, который используется для поддержания набора общего состояния относительно Logger и служб ведения журнала. |
| LogRecord | Объекты LogRecord используются для передачи запросов ведения журнала между инфраструктурой ведения журнала и отдельными обработчиками журналов. |
| MemoryHandler | Handler который буферизует запросы в круговой буфер в памяти. |
| SimpleFormatter | Печать краткого резюме LogRecord в удобочитаемом формате. |
| SocketHandler | Простой сетевой журнал Handler. |
| StreamHandler | Ведение журнала на основе потоков Handler. |
| XMLFormatter | Форматирование LogRecord в стандартный XML-формат. |
© 1993, 2021, 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/17/docs/api/java.logging/java/util/logging/package-summary.html
LoggingMXBeanбольше не являетсяplatform MXBeanи заменён наPlatformLoggingMXBean.