Класс Logger
- java.lang.Object
-
- java.util.logging.Logger
public class Logger extends Object
Объект Logger используется для регистрации сообщений для конкретной системы или компонента приложения. Логгеры обычно имеют имя, используя иерархическое пространство имён, разделённое точкой. Имена логгеров могут быть произвольными строками, но они обычно должны основываться на имени пакета или имени класса регистрируемого компонента, например java.net или javax.swing. Кроме того, можно создавать "анонимные" логгеры, которые не хранятся в пространстве имён логгеров.
Объекты Logger могут быть получены с помощью вызовов одного из методов-фабрик getLogger. Эти методы либо создают новый Logger, либо возвращают подходящий существующий Logger. Важно отметить, что Logger, возвращаемый одним из getLogger методов-фабрик, может быть удалён сборщиком мусора в любое время, если к Logger не сохраняется сильная ссылка.
Сообщения о регистрации будут переданы зарегистрированным объектам Handler, которые могут передавать сообщения в различные места назначения, включая консоли, файлы, системные журналы и т. д.
Каждый Logger отслеживает "родительский" Logger, который является ближайшим существующим предком в пространстве имён Logger.
Каждый Logger имеет связанный с ним "уровень" (Level). Это отражает минимальный уровень, который этот логгер обрабатывает. Если уровень Logger установлен на null, то его эффективный уровень унаследован от родительского логгера, который в свою очередь может получить его рекурсивно от своего родителя и так далее по дереву.
Уровень логгирования может быть настроен на основе свойств из файла конфигурации логгирования, как описано в описании класса LogManager. Однако его также можно динамически изменить с помощью вызовов метода Logger.setLevel. Если уровень логгера изменён, это изменение может также повлиять на дочерние логгеры, поскольку любой дочерний логгер, у которого уровень null, унаследует свой эффективный уровень от родителя.
При каждом вызове логгирования Logger первоначально выполняет дешёвую проверку уровня запроса (например, SEVERE или FINE) относительно эффективного уровня логгирования логгера. Если уровень запроса ниже уровня логгирования, вызов логгирования возвращается немедленно.
После прохождения этой начальной (дешёвой) проверки Logger выделит запись LogRecord для описания сообщения логгирования. Затем он вызовет фильтр (если он присутствует), чтобы выполнить более подробную проверку, следует ли публиковать запись. Если это пройдено, он опубликует LogRecord в своих обработчиках вывода (Handlers). По умолчанию логгеры также публикуют в обработчиках своих родителей, рекурсивно по дереву.
Каждый Logger может иметь связанный с ним ResourceBundle. ResourceBundle может быть указан по имени, используя метод-фабрику getLogger(java.lang.String, java.lang.String), или по значению — используя метод setResourceBundle. Этот пакет будет использоваться для локализации сообщений логгирования. Если у Logger нет собственного ResourceBundle или имени ресурсного пакета, то он унаследует ResourceBundle или имя ресурсного пакета от родителя, рекурсивно по дереву.
Большинство методов вывода логгера принимают аргумент "msg". Этот аргумент msg может быть либо сырым значением, либо ключом локализации. Во время форматирования, если у логгера есть (или унаследован) пакет локализации ResourceBundle, и если ResourceBundle имеет сопоставление для строки msg, то строка msg заменяется локализованным значением. В противном случае используется исходная строка msg. Обычно форматировщики используют стиль форматирования java.text.MessageFormat для форматирования параметров, поэтому, например, строка форматирования "{0} {1}" отформатирует два параметра как строки.
Набор методов альтернативно принимает "msgSupplier" вместо аргумента "msg". Эти методы принимают функцию Supplier<String>, которая вызывается для построения желаемого сообщения логгирования только тогда, когда сообщение фактически должно быть записано на основе эффективного уровня логгирования, тем самым устраняя ненужное построение сообщения. Например, если разработчик хочет записать состояние здоровья системы для диагностики, с версией, принимающей String, код будет выглядеть так:
class DiagnosisMessages {
static String systemHealthStatus() {
// collect system health information
...
}
}
...
logger.log(Level.FINER, DiagnosisMessages.systemHealthStatus()); С указанным выше кодом, состояние здоровья собирается излишне, даже когда уровень логгирования FINER отключён. С версией, принимающей Supplier, как показано ниже, состояние здоровья будет собрано только тогда, когда уровень логгирования FINER включён. logger.log(Level.FINER, DiagnosisMessages::systemHealthStatus);
При поиске ResourceBundle, логгер сначала проверит, был ли пакет указан с помощью setResourceBundle, а затем только то, было ли имя ресурсного пакета указано через метод-фабрику getLogger. Если ResourceBundle или имя ресурсного пакета не найдено, то он будет использовать ближайшее ResourceBundle или имя ресурсного пакета, унаследованное от родительского дерева.
Если ResourceBundle был унаследован или указан через метод setResourceBundle, то этот ResourceBundle будет использован. В противном случае, если у логгера есть только имя ресурсного пакета или оно унаследовано, то это имя ресурсного пакета будет сопоставлено с объектом ResourceBundle, используя локаль по умолчанию на момент логгирования.
При сопоставлении имён ресурсных пакетов с объектами ResourceBundle логгер сначала попытается использовать контекстный класс загрузчик потока context class loader для сопоставления заданного имени ресурсного пакета с ResourceBundle. Если контекстный класс загрузчик потока null, он попытается использовать системный класс загрузчик system class loader вместо него. Если ResourceBundle всё ещё не найден, он будет использовать класс загрузчик первого вызывающего метода getLogger метода-фабрики.
Форматирование (включая локализацию) является задачей обработчика вывода (Handler), который обычно вызовет форматировщик (Formatter).
Обратите внимание, что форматирование не обязательно должно происходить синхронно. Оно может быть отложено до фактического записи LogRecord во внешнюю систему.
Методы логгирования сгруппированы в пяти основных категориях:
Существует набор методов "log", которые принимают уровень логгирования, строку сообщения и необязательно некоторые параметры к строке сообщения.
Существует набор методов "logp" (для "log precise"), которые подобны методам "log", но также принимают имя класса и имя метода источника.
Существует набор методов "logrb" (для "log with resource bundle"), которые подобны методам "logp", но также принимают объект ресурсного пакета для локализации сообщения логгирования.
Существуют служебные методы для отслеживания входов методов (методы "entering"), возвратов методов (методы "exiting") и выброса исключений (методы "throwing").
Наконец, есть набор служебных методов для использования в самых простых случаях, когда разработчик просто хочет записать простую строку на заданном уровне логгирования. Эти методы названы в честь стандартных имён уровней ("severe", "warning", "info" и т. д.) и принимают один аргумент — строку сообщения.
Для методов, не принимающих явное имя источника и имя метода, система логгирования предпримет "лучшие усилия", чтобы определить класс и метод, вызвавшие метод логгирования. Однако важно понимать, что эта автоматически полученная информация может быть только приблизительной (или даже сильно неверной!). Виртуальные машины могут выполнять обширные оптимизации при JIT-компиляции и могут полностью удалить кадры стека, что делает невозможным надёжно определить вызывающий класс и метод.
Все методы в Logger являются многопоточно-безопасными.
Информация по наследованию: Обратите внимание, что класс LogManager может предоставлять собственное выполнение именованных логгеров для любой точки в пространстве имён. Поэтому любые подклассы Logger (если они не реализуются в сочетании с новым классом LogManager) должны позаботиться о получении экземпляра Logger из класса LogManager и делегировать операции, такие как "isLoggable" и "log(LogRecord)", этому экземпляру. Отметим, что для перехвата всего вывода логгирования подклассам достаточно переопределить метод log(LogRecord). Все остальные методы логгирования реализованы как вызовы этого метода log(LogRecord).
- С тех пор как:
- 1.4
Поля
| Модификатор и тип | Поле и описание |
|---|---|
static Logger |
global Устаревший. Инициализация этого поля подвержена тупиковым ситуациям. Поле должно быть инициализировано классом Logger, что может вызвать тупиковые ситуации с инициализацией класса LogManager. В таких случаях два класса ожидают завершения друг друга. Предпочтительный способ получения глобального объекта логгера — через вызов |
static String |
GLOBAL_LOGGER_NAME GLOBAL_LOGGER_NAME — имя глобального логгера. |
Конструкторы
| Модификатор | Конструктор и описание |
|---|---|
protected |
Logger(String name,
String resourceBundleName) Защищённый метод для построения логгера для именованной подсистемы. |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
void |
addHandler(Handler handler) Добавить обработчик логов для получения сообщений об ошибках. |
void |
config(String msg) Записать сообщение CONFIG. |
void |
config(Supplier<String> msgSupplier) Записать сообщение CONFIG, которое создаётся только в том случае, если уровень логирования достаточен для записи сообщения. |
void |
entering(String sourceClass,
String sourceMethod) Записать начало метода. |
void |
entering(String sourceClass,
String sourceMethod,
Object param1) Записать начало метода с одним параметром. |
void |
entering(String sourceClass,
String sourceMethod,
Object[] params) Записать начало метода с массивом параметров. |
void |
exiting(String sourceClass,
String sourceMethod) Записать возврат метода. |
void |
exiting(String sourceClass,
String sourceMethod,
Object result) Записать возврат метода с результатом. |
void |
fine(String msg) Записать сообщение FINE. |
void |
fine(Supplier<String> msgSupplier) Записать сообщение FINE, которое создаётся только в том случае, если уровень логирования достаточен для записи сообщения. |
void |
finer(String msg) Записать сообщение FINER. |
void |
finer(Supplier<String> msgSupplier) Записать сообщение FINER, которое создаётся только в том случае, если уровень логирования достаточен для записи сообщения. |
void |
finest(String msg) Записать сообщение FINEST. |
void |
finest(Supplier<String> msgSupplier) Записать сообщение FINEST, которое создаётся только в том случае, если уровень логирования достаточен для записи сообщения. |
static Logger |
getAnonymousLogger() Создать анонимный логгер. |
static Logger |
getAnonymousLogger(String resourceBundleName) Создать анонимный логгер. |
Filter |
getFilter() Получить текущий фильтр для этого логгера. |
static Logger |
getGlobal() Возвращает глобальный объект логгера с именем Logger.GLOBAL_LOGGER_NAME. |
Handler[] |
getHandlers() Получить обработчики, связанные с этим логгером. |
Level |
getLevel() Получить уровень логирования, указанный для этого логгера. |
static Logger |
getLogger(String name) Найти или создать логгер для именованной подсистемы. |
static Logger |
getLogger(String name,
String resourceBundleName) Найти или создать логгер для именованной подсистемы. |
String |
getName() Получить имя для этого логгера. |
Logger |
getParent() Возвращает родительский логгер для этого логгера. |
ResourceBundle |
getResourceBundle() Получить ресурсный пакет локализации для этого логгера. |
String |
getResourceBundleName() Получить имя ресурсного пакета локализации для этого логгера. |
boolean |
getUseParentHandlers() Определить, отправляет ли этот логгер свой вывод родителю. |
void |
info(String msg) Записать сообщение INFO. |
void |
info(Supplier<String> msgSupplier) Записать сообщение INFO, которое создаётся только в том случае, если уровень логирования достаточен для записи сообщения. |
boolean |
isLoggable(Level level) Проверить, будет ли сообщение заданного уровня записано этим логгером. |
void |
log(Level level,
String msg) Записать сообщение без аргументов. |
void |
log(Level level,
String msg,
Object param1) Записать сообщение с одним объектным параметром. |
void |
log(Level level,
String msg,
Object[] params) Записать сообщение с массивом объектных аргументов. |
void |
log(Level level,
String msg,
Throwable thrown) Записать сообщение с информацией о связанном исключении. |
void |
log(Level level,
Supplier<String> msgSupplier) Записать сообщение, которое создаётся только в том случае, если уровень логирования достаточен для записи сообщения. |
void |
log(Level level,
Throwable thrown,
Supplier<String> msgSupplier) Записать отложенное сообщение с информацией о связанном исключении. |
void |
log(LogRecord record) Записать LogRecord. |
void |
logp(Level level,
String sourceClass,
String sourceMethod,
String msg) Записать сообщение, указав класс и метод источника, без аргументов. |
void |
logp(Level level,
String sourceClass,
String sourceMethod,
String msg,
Object param1) Записать сообщение, указав класс и метод источника, с одним объектным параметром для сообщения. |
void |
logp(Level level,
String sourceClass,
String sourceMethod,
String msg,
Object[] params) Записать сообщение, указав класс и метод источника, с массивом объектных аргументов. |
void |
logp(Level level,
String sourceClass,
String sourceMethod,
String msg,
Throwable thrown) Записать сообщение, указав класс и метод источника, с информацией о связанном исключении. |
void |
logp(Level level,
String sourceClass,
String sourceMethod,
Supplier<String> msgSupplier) Записать отложенное сообщение, указав класс и метод источника, без аргументов. |
void |
logp(Level level,
String sourceClass,
String sourceMethod,
Throwable thrown,
Supplier<String> msgSupplier) Записать отложенное сообщение, указав класс и метод источника, с информацией о связанном исключении. |
void |
logrb(Level level,
String sourceClass,
String sourceMethod,
ResourceBundle bundle,
String msg,
Object... params) Записать сообщение, указав класс источника, метод и ресурсный пакет, с необязательным списком параметров сообщения. |
void |
logrb(Level level,
String sourceClass,
String sourceMethod,
ResourceBundle bundle,
String msg,
Throwable thrown) Записать сообщение, указав класс источника, метод и ресурсный пакет, с информацией о связанном исключении. |
void |
logrb(Level level,
String sourceClass,
String sourceMethod,
String bundleName,
String msg) Устарело. Используйте |
void |
logrb(Level level,
String sourceClass,
String sourceMethod,
String bundleName,
String msg,
Object param1) Устарело. Используйте |
void |
logrb(Level level,
String sourceClass,
String sourceMethod,
String bundleName,
String msg,
Object[] params) Устарело. Используйте |
void |
logrb(Level level,
String sourceClass,
String sourceMethod,
String bundleName,
String msg,
Throwable thrown) Устарело. Используйте |
void |
removeHandler(Handler handler) Удалить обработчик логов. |
void |
setFilter(Filter newFilter) Установить фильтр для управления выводом в этом логгер. |
void |
setLevel(Level newLevel) Установить уровень логирования, определяющий, какие уровни сообщений будут записаны этим логгером. |
void |
setParent(Logger parent) Установить родительский логгер для этого логгера. |
void |
setResourceBundle(ResourceBundle bundle) Устанавливает ресурсный пакет для этого логгера. |
void |
setUseParentHandlers(boolean useParentHandlers) Указать, должен ли этот логгер отправлять свой вывод родителю. |
void |
severe(String msg) Записать сообщение SEVERE. |
void |
severe(Supplier<String> msgSupplier) Записать сообщение SEVERE, которое создаётся только в том случае, если уровень логирования достаточен для записи сообщения. |
void |
throwing(String sourceClass,
String sourceMethod,
Throwable thrown) Записать сообщение об исключении. |
void |
warning(String msg) Записать сообщение WARNING. |
void |
warning(Supplier<String> msgSupplier) Записать сообщение WARNING, которое создаётся только в том случае, если уровень логирования достаточен для записи сообщения. |
Методы, унаследованные от класса java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait Поля
GLOBAL_LOGGER_NAME
public static final String GLOBAL_LOGGER_NAME
GLOBAL_LOGGER_NAME — имя глобального логгера.
- С момента:
- 1.6
- См. также:
- Значения константных полей
global
@Deprecated public static final Logger global
Устарело. Инициализация этого поля склонна к тупиковым ситуациям (deadlocks). Поле должно быть инициализировано классом Logger, что может вызвать тупики (deadlocks) при инициализации класса LogManager. В таких случаях два класса ожидают завершения друг друга. Предпочтительный способ получения объекта глобального логгера — вызов Logger.getGlobal(). Для совместимости со старыми версиями JDK, где Logger.getGlobal() недоступен, используйте вызов Logger.getLogger(Logger.GLOBAL_LOGGER_NAME) или Logger.getLogger("global").
Объект логгера "global" предоставляется для удобства разработчиков, которые эпизодически используют пакет Logging. Разработчики, активно использующие пакет логирования (например, в продуктах), должны создавать и использовать собственные объекты логгеров с соответствующими именами, чтобы логирование можно было контролировать на подходящем уровне детализации каждого логгера. Разработчики также должны хранить сильную ссылку на свои объекты логгера, чтобы предотвратить их сборку мусором.
Конструкторы
Logger
protected Logger(String name,
String resourceBundleName) Защищённый метод для построения логгера для именованной подсистемы.
Логгер будет первоначально сконфигурирован с уровнем null и useParentHandlers, установленным в true.
- Параметры:
-
name— имя логгера. Оно должно быть разделено точками и, как правило, основано на имени пакета или имени класса подсистемы, например, java.net или javax.swing. Может быть null для анонимных логгеров. -
resourceBundleName— имя ResourceBundle, используемого для локализации сообщений для этого логгера. Может быть null, если для сообщений не требуется локализация. - Исключения:
-
MissingResourceException— если resourceBundleName не null и соответствующий ресурс не найден.
Методы
getGlobal
public static final Logger getGlobal()
Возвращает объект глобального логгера с именем Logger.GLOBAL_LOGGER_NAME.
- Возвращает:
- объект глобального логгера
- С момента:
- 1.7
getLogger
public static Logger getLogger(String name)
Находит или создаёт логгер для именованной подсистемы. Если логгер с заданным именем уже создан, он возвращается. В противном случае создаётся новый логгер.
Если создаётся новый логгер, его уровень логирования настраивается на основе конфигурации LogManager, и он будет настроен на отправку данных логирования также обработчикам родительского логгера. Он будет зарегистрирован в глобальном пространстве имён LogManager.
Примечание: LogManager может хранить только слабую ссылку на только что созданный логгер. Важно понимать, что ранее созданный логгер с заданным именем может быть собран мусором в любой момент, если на него нет сильной ссылки. В частности, это означает, что два последовательных вызова, такие как getLogger("MyLogger").log(...), могут использовать разные объекты логгеров с именем "MyLogger", если нигде в программе нет сильной ссылки на логгер с именем "MyLogger".
- Параметры:
-
name— имя логгера. Оно должно быть разделено точками и, как правило, основано на имени пакета или имени класса подсистемы, например, java.net или javax.swing - Возвращает:
- подходящий логгер
- Исключения:
-
NullPointerException— если имя равно null.
getLogger
public static Logger getLogger(String name,
String resourceBundleName) Находит или создаёт логгер для именованной подсистемы. Если логгер с заданным именем уже создан, он возвращается. В противном случае создаётся новый логгер.
Если создаётся новый логгер, его уровень логирования настраивается на основе LogManager, и он будет настроен на отправку данных логирования также обработчикам родительского логгера. Он будет зарегистрирован в глобальном пространстве имён LogManager.
Примечание: LogManager может хранить только слабую ссылку на только что созданный логгер. Важно понимать, что ранее созданный логгер с заданным именем может быть собран мусором в любой момент, если на него нет сильной ссылки. В частности, это означает, что два последовательных вызова, такие как getLogger("MyLogger", ...).log(...), могут использовать разные объекты логгеров с именем "MyLogger", если нигде в программе нет сильной ссылки на логгер с именем "MyLogger".
Если именованный логгер уже существует и ещё не имеет ресурсного пакета локализации, то используется заданное имя ресурсного пакета. Если именованный логгер уже существует и имеет другое имя ресурсного пакета, то генерируется исключение IllegalArgumentException.
- Параметры:
-
name— имя логгера. Оно должно быть разделено точками и, как правило, основано на имени пакета или имени класса подсистемы, например, java.net или javax.swing -
resourceBundleName— имя ResourceBundle, используемого для локализации сообщений для этого логгера. Может бытьnull, если для сообщений не требуется локализация. - Возвращает:
- подходящий логгер
- Исключения:
-
MissingResourceException— если resourceBundleName не null и соответствующий ресурс не найден. -
IllegalArgumentException— если логгер уже существует и использует другое имя ресурсного пакета; или еслиresourceBundleNameравенnull, но у именованного логгера установлен ресурсный пакет. -
NullPointerException— если имя равно null.
getAnonymousLogger
public static Logger getAnonymousLogger()
Создаёт анонимный логгер. Созданный логгер не регистрируется в пространстве имён LogManager. Проверка доступа при обновлении логгера не выполняется.
Этот фабричный метод предназначен в первую очередь для использования из апплетов. Поскольку созданный логгер анонимный, его можно сохранить закрытым для класса, создавшего его. Это исключает необходимость обычных проверок безопасности, что, в свою очередь, позволяет недоверенному коду апплета обновлять состояние управления логгера. Например, апплет может установить уровень логирования или добавить обработчик к анонимному логгеру.
Несмотря на то, что новый логгер анонимный, он настроен так, чтобы иметь корневой логгер ("") в качестве родительского. Это означает, что по умолчанию он наследует эффективный уровень и обработчики от корневого логгера. Изменение родителя с помощью метода setParent по-прежнему требует разрешения безопасности, указанного в этом методе.
- Возвращает:
- новый закрытый логгер
getAnonymousLogger
public static Logger getAnonymousLogger(String resourceBundleName)
Создаёт анонимный логгер. Созданный логгер не регистрируется в пространстве имён LogManager. Проверка доступа при обновлении логгера не выполняется.
Этот фабричный метод предназначен в первую очередь для использования из апплетов. Поскольку созданный логгер анонимный, его можно сохранить закрытым для класса, создавшего его. Это исключает необходимость обычных проверок безопасности, что, в свою очередь, позволяет недоверенному коду апплета обновлять состояние управления логгера. Например, апплет может установить уровень логирования или добавить обработчик к анонимному логгеру.
Несмотря на то, что новый логгер анонимный, он настроен так, чтобы иметь корневой логгер ("") в качестве родительского. Это означает, что по умолчанию он наследует эффективный уровень и обработчики от корневого логгера. Изменение родителя с помощью метода setParent по-прежнему требует разрешения безопасности, указанного в этом методе.
- Параметры:
-
resourceBundleName— имя ResourceBundle, используемого для локализации сообщений для этого логгера. Может быть null, если для сообщений не требуется локализация. - Возвращает:
- новый закрытый логгер
- Исключения:
-
MissingResourceException— если resourceBundleName не null и соответствующий ресурс не найден.
getResourceBundle
public ResourceBundle getResourceBundle()
Получение ресурсного пакета локализации для этого логгера. Этот метод вернёт ResourceBundle, который был либо задан методом setResourceBundle, либо отображён из имени ресурсного пакета, заданного фабричным методом getLogger для текущего языка по умолчанию.
Обратите внимание, что если результат равен null, то логгер будет использовать ресурсный пакет или имя ресурсного пакета, унаследованное от родительского логгера.
- Возвращает:
- пакет локализации (может быть
null)
getResourceBundleName
public String getResourceBundleName()
Получение имени ресурсного пакета локализации для этого логгера. Это либо имя, указанное в фабричном методе getLogger, либо базовое имя ресурсного пакета, установленного с помощью метода setResourceBundle.
Обратите внимание, что если результат равен null, то логгер будет использовать ресурсный пакет или имя ресурсного пакета, унаследованное от родительского логгера.
- Возвращает:
- имя пакета локализации (может быть
null)
setFilter
public void setFilter(Filter newFilter)
throws SecurityException Установка фильтра для управления выводом в этом логгере.
После прохождения начальной проверки "уровня" логгер вызовет этот фильтр, чтобы проверить, следует ли действительно публиковать запись в журнале.
- Параметры:
-
newFilter— объект фильтра (может быть null) - Исключения:
-
SecurityException— если существует менеджер безопасности, этот логгер не анонимный, и у вызывающего объекта нет разрешения LoggingPermission("control").
getFilter
public Filter getFilter()
Получение текущего фильтра для этого логгера.
- Возвращает:
- объект фильтра (может быть null)
log
public void log(LogRecord record)
Логирование LogRecord.
Все остальные методы логирования в этом классе вызывают этот метод, чтобы фактически выполнить любое логирование. Подклассы могут переопределять этот единственный метод, чтобы захватить всю активность логирования.
- Параметры:
-
record— LogRecord, который должен быть опубликован
log
public void log(Level level,
String msg) Логирование сообщения без аргументов.
Если логгер в настоящее время включён для заданного уровня сообщения, то заданное сообщение передаётся всем зарегистрированным объектам обработчика вывода.
- Параметры:
-
level— Один из идентификаторов уровня сообщения, например, SEVERE -
msg— Строковое сообщение (или ключ в каталоге сообщений)
log
public void log(Level level,
Supplier<String> msgSupplier) Запись сообщения, которое создаётся только в том случае, если уровень ведения журнала таков, что сообщение будет фактически записано.
Если в данный момент для регистратора включен заданный уровень сообщения, то сообщение создается путем вызова предоставленной функции-поставщика и передается всем зарегистрированным объектам обработчика вывода.
- Parameters:
-
level- Один из идентификаторов уровня сообщения, например, SEVERE -
msgSupplier- Функция, которая при вызове создает нужное сообщение журнала - Since:
- 1.8
log
public void log(Level level,
String msg,
Object param1) Запись сообщения с одним параметром объекта.
Если в данный момент для регистратора включен заданный уровень сообщения, то создается соответствующая запись журнала LogRecord и передается всем зарегистрированным объектам обработчика вывода.
- Parameters:
-
level- Один из идентификаторов уровня сообщения, например, SEVERE -
msg- Строковое сообщение (или ключ в каталоге сообщений) -
param1- Параметр сообщения
log
public void log(Level level,
String msg,
Object[] params) Запись сообщения с массивом аргументов объекта.
Если в данный момент для регистратора включен заданный уровень сообщения, то создается соответствующая запись журнала LogRecord и передается всем зарегистрированным объектам обработчика вывода.
- Parameters:
-
level- Один из идентификаторов уровня сообщения, например, SEVERE -
msg- Строковое сообщение (или ключ в каталоге сообщений) -
params- Массив параметров сообщения
log
public void log(Level level,
String msg,
Throwable thrown) Запись сообщения с соответствующей информацией о Throwable.
Если в данный момент для регистратора включен заданный уровень сообщения, то заданные аргументы сохраняются в записи журнала LogRecord, которая передается всем зарегистрированным обработчикам вывода.
Обратите внимание, что переданный аргумент хранится в свойстве thrown записи журнала LogRecord, а не в свойстве параметров LogRecord. Таким образом, он обрабатывается специально средствами форматирования вывода и не рассматривается как параметр форматирования для свойства сообщения LogRecord.
- Parameters:
-
level- Один из идентификаторов уровня сообщения, например, SEVERE -
msg- Строковое сообщение (или ключ в каталоге сообщений) -
thrown- Throwable, связанный с сообщением журнала.
log
public void log(Level level,
Throwable thrown,
Supplier<String> msgSupplier) Запись лениво создаваемого сообщения с соответствующей информацией о Throwable.
Если в данный момент для регистратора включен заданный уровень сообщения, то сообщение создается путем вызова предоставленной функции-поставщика. Затем сообщение и заданный Throwable сохраняются в LogRecord, которая передается всем зарегистрированным обработчикам вывода.
Обратите внимание, что переданный аргумент хранится в свойстве thrown записи журнала LogRecord, а не в свойстве параметров LogRecord. Таким образом, он обрабатывается специально средствами форматирования вывода и не рассматривается как параметр форматирования для свойства сообщения LogRecord.
- Parameters:
-
level- Один из идентификаторов уровня сообщения, например, SEVERE -
thrown- Throwable, связанный с сообщением журнала. -
msgSupplier- Функция, которая при вызове создает нужное сообщение журнала - Since:
- 1.8
logp
public void logp(Level level,
String sourceClass,
String sourceMethod,
String msg) Запись сообщения, указание исходного класса и метода без аргументов.
Если в данный момент для регистратора включен заданный уровень сообщения, то заданное сообщение передается всем зарегистрированным объектам обработчика вывода.
- Parameters:
-
level- Один из идентификаторов уровня сообщения, например, SEVERE -
sourceClass- имя класса, который отправил запрос на ведение журнала -
sourceMethod- имя метода, который отправил запрос на ведение журнала -
msg- Строковое сообщение (или ключ в каталоге сообщений)
logp
public void logp(Level level,
String sourceClass,
String sourceMethod,
Supplier<String> msgSupplier) Запись лениво создаваемого сообщения, указание исходного класса и метода без аргументов.
Если в данный момент для регистратора включен заданный уровень сообщения, то сообщение создается путем вызова предоставленной функции-поставщика и передается всем зарегистрированным объектам обработчика вывода.
- Parameters:
-
level- Один из идентификаторов уровня сообщения, например, SEVERE -
sourceClass- имя класса, который отправил запрос на ведение журнала -
sourceMethod- имя метода, который отправил запрос на ведение журнала -
msgSupplier- Функция, которая при вызове создает нужное сообщение журнала - Since:
- 1.8
logp
public void logp(Level level,
String sourceClass,
String sourceMethod,
String msg,
Object param1) Запись сообщения, указание исходного класса и метода с одним параметром объекта для сообщения журнала.
Если в данный момент для регистратора включен заданный уровень сообщения, то создается соответствующая запись журнала LogRecord и передается всем зарегистрированным объектам обработчика вывода.
- Parameters:
-
level- Один из идентификаторов уровня сообщения, например, SEVERE -
sourceClass- имя класса, который отправил запрос на ведение журнала -
sourceMethod- имя метода, который отправил запрос на ведение журнала -
msg- Строковое сообщение (или ключ в каталоге сообщений) -
param1- Параметр сообщения журнала.
logp
public void logp(Level level,
String sourceClass,
String sourceMethod,
String msg,
Object[] params) Запись сообщения, указание исходного класса и метода с массивом аргументов объекта.
Если в данный момент для регистратора включен заданный уровень сообщения, то создается соответствующая запись журнала LogRecord и передается всем зарегистрированным объектам обработчика вывода.
- Parameters:
-
level- Один из идентификаторов уровня сообщения, например, SEVERE -
sourceClass- имя класса, который отправил запрос на ведение журнала -
sourceMethod- имя метода, который отправил запрос на ведение журнала -
msg- Строковое сообщение (или ключ в каталоге сообщений) -
params- Массив параметров сообщения
logp
public void logp(Level level,
String sourceClass,
String sourceMethod,
String msg,
Throwable thrown) Запись сообщения, указание исходного класса и метода с соответствующей информацией о Throwable.
Если в данный момент для регистратора включен заданный уровень сообщения, то заданные аргументы сохраняются в записи журнала LogRecord, которая передается всем зарегистрированным обработчикам вывода.
Обратите внимание, что переданный аргумент хранится в свойстве thrown записи журнала LogRecord, а не в свойстве параметров LogRecord. Таким образом, он обрабатывается специально средствами форматирования вывода и не рассматривается как параметр форматирования для свойства сообщения LogRecord.
- Parameters:
-
level- Один из идентификаторов уровня сообщения, например, SEVERE -
sourceClass- имя класса, который отправил запрос на ведение журнала -
sourceMethod- имя метода, который отправил запрос на ведение журнала -
msg- Строковое сообщение (или ключ в каталоге сообщений) -
thrown- Throwable, связанный с сообщением журнала.
logp
public void logp(Level level,
String sourceClass,
String sourceMethod,
Throwable thrown,
Supplier<String> msgSupplier) Запись лениво создаваемого сообщения, указание исходного класса и метода с соответствующей информацией о Throwable.
Если в данный момент для регистратора включен заданный уровень сообщения, то сообщение создается путем вызова предоставленной функции-поставщика. Затем сообщение и заданный Throwable сохраняются в LogRecord, которая передается всем зарегистрированным обработчикам вывода.
Обратите внимание, что переданный аргумент хранится в свойстве thrown записи журнала LogRecord, а не в свойстве параметров LogRecord. Таким образом, он обрабатывается специально средствами форматирования вывода и не рассматривается как параметр форматирования для свойства сообщения LogRecord.
- Parameters:
-
level- Один из идентификаторов уровня сообщения, например, SEVERE -
sourceClass- имя класса, который отправил запрос на ведение журнала -
sourceMethod- имя метода, который отправил запрос на ведение журнала -
thrown- Throwable, связанный с сообщением журнала. -
msgSupplier- Функция, которая при вызове создает нужное сообщение журнала - Since:
- 1.8
logrb
@Deprecated
public void logrb(Level level,
String sourceClass,
String sourceMethod,
String bundleName,
String msg) Устарело. Используйте logrb(java.util.logging.Level, java.lang.String,
java.lang.String, java.util.ResourceBundle, java.lang.String,
java.lang.Object...) вместо этого.
Запись сообщения, указание исходного класса, метода и имени пакета ресурсов без аргументов.
Если в данный момент для регистратора включен заданный уровень сообщения, то заданное сообщение передается всем зарегистрированным объектам обработчика вывода.
Строка msg локализуется с помощью указанного пакета ресурсов. Если имя пакета ресурсов равно null, пустой строке или неверно, то строка msg не локализуется.
- Parameters:
-
level- Один из идентификаторов уровня сообщения, например, SEVERE -
sourceClass- имя класса, который отправил запрос на ведение журнала -
sourceMethod- имя метода, который отправил запрос на ведение журнала -
bundleName- имя пакета ресурсов для локализации msg, может быть null -
msg- Строковое сообщение (или ключ в каталоге сообщений)
logrb
@Deprecated
public void logrb(Level level,
String sourceClass,
String sourceMethod,
String bundleName,
String msg,
Object param1) Устарело. Используйте logrb(java.util.logging.Level, java.lang.String,
java.lang.String, java.util.ResourceBundle, java.lang.String,
java.lang.Object...) вместо этого
Запишите сообщение, указав класс источника, метод и имя ресурсного пакета, с одним объектным параметром для сообщения журнала.
Если логгер в настоящее время включен для данного уровня сообщения, то создается соответствующий LogRecord и передается во все зарегистрированные объекты обработчика вывода.
Строка msg локализуется с использованием именованного ресурсного пакета. Если имя ресурсного пакета равно null, пустой строке или некорректно, то строка msg не локализуется.
- Параметры:
-
level- Один из идентификаторов уровня сообщений, например, SEVERE -
sourceClass- имя класса, который выдал запрос ведения журнала -
sourceMethod- имя метода, который выдал запрос ведения журнала -
bundleName- имя ресурсного пакета для локализации msg, может быть null -
msg- Строковое сообщение (или ключ в каталоге сообщений) -
param1- Параметр для сообщения журнала.
logrb
@Deprecated
public void logrb(Level level,
String sourceClass,
String sourceMethod,
String bundleName,
String msg,
Object[] params) Устарело. Используйте logrb(java.util.logging.Level, java.lang.String,
java.lang.String, java.util.ResourceBundle, java.lang.String,
java.lang.Object...) вместо этого.
Запишите сообщение, указав класс источника, метод и имя ресурсного пакета, с массивом объектных аргументов.
Если логгер в настоящее время включен для данного уровня сообщения, то создается соответствующий LogRecord и передается во все зарегистрированные объекты обработчика вывода.
Строка msg локализуется с использованием именованного ресурсного пакета. Если имя ресурсного пакета равно null, пустой строке или некорректно, то строка msg не локализуется.
- Параметры:
-
level- Один из идентификаторов уровня сообщений, например, SEVERE -
sourceClass- имя класса, который выдал запрос ведения журнала -
sourceMethod- имя метода, который выдал запрос ведения журнала -
bundleName- имя ресурсного пакета для локализации msg, может быть null. -
msg- Строковое сообщение (или ключ в каталоге сообщений) -
params- Массив параметров для сообщения
logrb
public void logrb(Level level,
String sourceClass,
String sourceMethod,
ResourceBundle bundle,
String msg,
Object... params) Запишите сообщение, указав класс источника, метод и ресурсный пакет, с необязательным списком параметров сообщения.
Если логгер в настоящее время включен для данного уровня сообщения, то создается соответствующий LogRecord и передается во все зарегистрированные объекты обработчика вывода.
Строка msg локализуется с использованием данного ресурсного пакета. Если ресурсный пакет null, то строка msg не локализуется.
- Параметры:
-
level- Один из идентификаторов уровня сообщений, например, SEVERE -
sourceClass- Имя класса, который выдал запрос ведения журнала -
sourceMethod- Имя метода, который выдал запрос ведения журнала -
bundle- Ресурсный пакет для локализацииmsg, может бытьnull. -
msg- Строковое сообщение (или ключ в каталоге сообщений) -
params- Параметры сообщения (необязательно, может быть пусто). - С момента:
- 1.8
logrb
@Deprecated
public void logrb(Level level,
String sourceClass,
String sourceMethod,
String bundleName,
String msg,
Throwable thrown) Устарело. Используйте logrb(java.util.logging.Level, java.lang.String,
java.lang.String, java.util.ResourceBundle, java.lang.String,
java.lang.Throwable) вместо этого.
Запишите сообщение, указав класс источника, метод и имя ресурсного пакета, с связанной информацией о Throwable.
Если логгер в настоящее время включен для данного уровня сообщения, то заданные аргументы хранятся в LogRecord, который передается во все зарегистрированные обработчики вывода.
Строка msg локализуется с использованием именованного ресурсного пакета. Если имя ресурсного пакета равно null, пустой строке или некорректно, то строка msg не локализуется.
Обратите внимание, что брошенный аргумент хранится в свойстве LogRecord thrown, а не в свойстве LogRecord parameters. Таким образом, он обрабатывается специальным образом форматировщиками вывода и не рассматривается как параметр форматирования для свойства сообщения LogRecord.
- Параметры:
-
level- Один из идентификаторов уровня сообщений, например, SEVERE -
sourceClass- имя класса, который выдал запрос ведения журнала -
sourceMethod- имя метода, который выдал запрос ведения журнала -
bundleName- имя ресурсного пакета для локализации msg, может быть null -
msg- Строковое сообщение (или ключ в каталоге сообщений) -
thrown- Throwable, связанный с сообщением журнала.
logrb
public void logrb(Level level,
String sourceClass,
String sourceMethod,
ResourceBundle bundle,
String msg,
Throwable thrown) Запишите сообщение, указав класс источника, метод и ресурсный пакет, с связанной информацией о Throwable.
Если логгер в настоящее время включен для данного уровня сообщения, то заданные аргументы хранятся в LogRecord, который передается во все зарегистрированные обработчики вывода.
Строка msg локализуется с использованием данного ресурсного пакета. Если ресурсный пакет null, то строка msg не локализуется.
Обратите внимание, что брошенный аргумент хранится в свойстве LogRecord thrown, а не в свойстве LogRecord parameters. Таким образом, он обрабатывается специальным образом форматировщиками вывода и не рассматривается как параметр форматирования для свойства сообщения LogRecord.
- Параметры:
-
level- Один из идентификаторов уровня сообщений, например, SEVERE -
sourceClass- Имя класса, который выдал запрос ведения журнала -
sourceMethod- Имя метода, который выдал запрос ведения журнала -
bundle- Ресурсный пакет для локализацииmsg, может бытьnull -
msg- Строковое сообщение (или ключ в каталоге сообщений) -
thrown- Throwable, связанный с сообщением журнала. - С момента:
- 1.8
entering
public void entering(String sourceClass,
String sourceMethod) Записать вход в метод.
Это удобный метод, который можно использовать для записи входа в метод. В журнал записывается LogRecord с сообщением "ENTRY", уровнем журнала FINER и указанным sourceMethod и sourceClass.
- Параметры:
-
sourceClass- имя класса, который выдал запрос ведения журнала -
sourceMethod- имя метода, в который входим
entering
public void entering(String sourceClass,
String sourceMethod,
Object param1) Записать вход в метод с одним параметром.
Это удобный метод, который можно использовать для записи входа в метод. В журнал записывается LogRecord с сообщением "ENTRY {0}", уровнем журнала FINER и указанным sourceMethod, sourceClass и параметром.
- Параметры:
-
sourceClass- имя класса, который выдал запрос ведения журнала -
sourceMethod- имя метода, в который входим -
param1- параметр метода, в который входим
entering
public void entering(String sourceClass,
String sourceMethod,
Object[] params) Записать вход в метод с массивом параметров.
Это удобный метод, который можно использовать для записи входа в метод. В журнал записывается LogRecord с сообщением "ENTRY" (за которым следует указатель формата {N} для каждого элемента в массиве параметров), уровнем журнала FINER и указанными sourceMethod, sourceClass и параметрами.
- Параметры:
-
sourceClass- имя класса, который выдал запрос ведения журнала -
sourceMethod- имя метода, в который входим -
params- массив параметров метода, в который входим
exiting
public void exiting(String sourceClass,
String sourceMethod) Записать возврат из метода.
Это удобный метод, который можно использовать для записи возврата из метода. В журнал записывается LogRecord с сообщением "RETURN", уровнем журнала FINER и указанными sourceMethod и sourceClass.
- Параметры:
-
sourceClass- имя класса, который выдал запрос ведения журнала -
sourceMethod- имя метода
exiting
public void exiting(String sourceClass,
String sourceMethod,
Object result) Записать возврат из метода с результатом объекта.
Это удобный метод, который можно использовать для записи возврата из метода. В журнал записывается LogRecord с сообщением "RETURN {0}", уровнем журнала FINER и указанными sourceMethod, sourceClass и объектом результата.
- Параметры:
-
sourceClass- имя класса, который выдал запрос ведения журнала -
sourceMethod- имя метода -
result- Возвращаемый объект
throwing
public void throwing(String sourceClass,
String sourceMethod,
Throwable thrown) Запись выбрасывания исключения.
Это удобный метод для записи того, что метод завершается сбросом исключения. Ведение журнала выполняется с использованием уровня FINER.
Если логгер в настоящее время включен для данного уровня сообщения, то заданные аргументы хранятся в LogRecord, который передается во все зарегистрированные обработчики вывода. Сообщение LogRecord устанавливается в "THROW".
Обратите внимание, что брошенный аргумент хранится в свойстве LogRecord thrown, а не в свойстве LogRecord parameters. Таким образом, он обрабатывается специальным образом форматировщиками вывода и не рассматривается как параметр форматирования для свойства сообщения LogRecord.
- Параметры:
-
sourceClass- имя класса, который выдал запрос ведения журнала -
sourceMethod- имя метода. -
thrown- Throwable, который выбрасывается.
severe
public void severe(String msg)
Запись сообщения SEVERE.
Если логгер в настоящее время включен для уровня сообщения SEVERE, то данное сообщение передается всем зарегистрированным обработчикам вывода.
- Параметры:
-
msg- Строковое сообщение (или ключ в каталоге сообщений)
warning
public void warning(String msg)
Запись сообщения WARNING.
Если логгер в настоящее время включен для уровня сообщения WARNING, то данное сообщение передается всем зарегистрированным обработчикам вывода.
- Параметры:
-
msg- Строковое сообщение (или ключ в каталоге сообщений)
info
public void info(String msg)
Записать сообщение INFO.
Если логгер в настоящее время включен для уровня сообщения INFO, то заданное сообщение передаётся всем зарегистрированным объектам обработчика вывода.
- Параметры:
-
msg- Строковое сообщение (или ключ в каталоге сообщений)
config
public void config(String msg)
Записать сообщение CONFIG.
Если логгер в настоящее время включен для уровня сообщения CONFIG, то заданное сообщение передаётся всем зарегистрированным объектам обработчика вывода.
- Параметры:
-
msg- Строковое сообщение (или ключ в каталоге сообщений)
fine
public void fine(String msg)
Записать сообщение FINE.
Если логгер в настоящее время включен для уровня сообщения FINE, то заданное сообщение передаётся всем зарегистрированным объектам обработчика вывода.
- Параметры:
-
msg- Строковое сообщение (или ключ в каталоге сообщений)
finer
public void finer(String msg)
Записать сообщение FINER.
Если логгер в настоящее время включен для уровня сообщения FINER, то заданное сообщение передаётся всем зарегистрированным объектам обработчика вывода.
- Параметры:
-
msg- Строковое сообщение (или ключ в каталоге сообщений)
finest
public void finest(String msg)
Записать сообщение FINEST.
Если логгер в настоящее время включен для уровня сообщения FINEST, то заданное сообщение передаётся всем зарегистрированным объектам обработчика вывода.
- Параметры:
-
msg- Строковое сообщение (или ключ в каталоге сообщений)
severe
public void severe(Supplier<String> msgSupplier)
Записать сообщение SEVERE, которое должно быть сгенерировано только в том случае, если уровень логирования таков, что сообщение действительно будет записано.
Если логгер в настоящее время включен для уровня сообщения SEVERE, то сообщение генерируется путём вызова предоставленной функции поставщика и передаётся всем зарегистрированным объектам обработчика вывода.
- Параметры:
-
msgSupplier- Функция, которая, при вызове, генерирует желаемое сообщение лога - Since:
- 1.8
warning
public void warning(Supplier<String> msgSupplier)
Записать сообщение WARNING, которое должно быть сгенерировано только в том случае, если уровень логирования таков, что сообщение действительно будет записано.
Если логгер в настоящее время включен для уровня сообщения WARNING, то сообщение генерируется путём вызова предоставленной функции поставщика и передаётся всем зарегистрированным объектам обработчика вывода.
- Параметры:
-
msgSupplier- Функция, которая, при вызове, генерирует желаемое сообщение лога - Since:
- 1.8
info
public void info(Supplier<String> msgSupplier)
Записать сообщение INFO, которое должно быть сгенерировано только в том случае, если уровень логирования таков, что сообщение действительно будет записано.
Если логгер в настоящее время включен для уровня сообщения INFO, то сообщение генерируется путём вызова предоставленной функции поставщика и передаётся всем зарегистрированным объектам обработчика вывода.
- Параметры:
-
msgSupplier- Функция, которая, при вызове, генерирует желаемое сообщение лога - Since:
- 1.8
config
public void config(Supplier<String> msgSupplier)
Записать сообщение CONFIG, которое должно быть сгенерировано только в том случае, если уровень логирования таков, что сообщение действительно будет записано.
Если логгер в настоящее время включен для уровня сообщения CONFIG, то сообщение генерируется путём вызова предоставленной функции поставщика и передаётся всем зарегистрированным объектам обработчика вывода.
- Параметры:
-
msgSupplier- Функция, которая, при вызове, генерирует желаемое сообщение лога - Since:
- 1.8
fine
public void fine(Supplier<String> msgSupplier)
Записать сообщение FINE, которое должно быть сгенерировано только в том случае, если уровень логирования таков, что сообщение действительно будет записано.
Если логгер в настоящее время включен для уровня сообщения FINE, то сообщение генерируется путём вызова предоставленной функции поставщика и передаётся всем зарегистрированным объектам обработчика вывода.
- Параметры:
-
msgSupplier- Функция, которая, при вызове, генерирует желаемое сообщение лога - Since:
- 1.8
finer
public void finer(Supplier<String> msgSupplier)
Записать сообщение FINER, которое должно быть сгенерировано только в том случае, если уровень логирования таков, что сообщение действительно будет записано.
Если логгер в настоящее время включен для уровня сообщения FINER, то сообщение генерируется путём вызова предоставленной функции поставщика и передаётся всем зарегистрированным объектам обработчика вывода.
- Параметры:
-
msgSupplier- Функция, которая, при вызове, генерирует желаемое сообщение лога - Since:
- 1.8
finest
public void finest(Supplier<String> msgSupplier)
Записать сообщение FINEST, которое должно быть сгенерировано только в том случае, если уровень логирования таков, что сообщение действительно будет записано.
Если логгер в настоящее время включен для уровня сообщения FINEST, то сообщение генерируется путём вызова предоставленной функции поставщика и передаётся всем зарегистрированным объектам обработчика вывода.
- Параметры:
-
msgSupplier- Функция, которая, при вызове, генерирует желаемое сообщение лога - Since:
- 1.8
setLevel
public void setLevel(Level newLevel)
throws SecurityException Установить уровень логирования, определяющий, какие уровни сообщений будут записаны этим логгером. Уровни сообщений ниже этого значения будут отброшены. Значение уровня Level.OFF может быть использовано для отключения логирования.
Если новое значение уровня равно null, это означает, что этот узел должен унаследовать свой уровень от ближайшего предка со значением уровня (не null).
- Параметры:
-
newLevel- новое значение уровня логирования (может быть null) - Исключения:
-
SecurityException- если существует менеджер безопасности, этот логгер не анонимный, и у вызывающего объекта нет права LoggingPermission("control").
getLevel
public Level getLevel()
Получить уровень логирования, установленный для этого логгера. Результат может быть null, что означает, что эффективный уровень этого логгера будет унаследован от его родителя.
- Возвращает:
- уровень этого логгера
isLoggable
public boolean isLoggable(Level level)
Проверить, будет ли сообщение заданного уровня действительно записано этим логгером. Эта проверка основана на эффективном уровне логгера, который может быть унаследован от его родителя.
- Параметры:
-
level- уровень логирования сообщения - Возвращает:
- true, если заданный уровень сообщения в настоящее время записывается.
getName
public String getName()
Получить имя этого логгера.
- Возвращает:
- имя логгера. Будет null для анонимных логгеров.
addHandler
public void addHandler(Handler handler)
throws SecurityException Добавить обработчик логов для получения сообщений логирования.
По умолчанию логгеры также отправляют свой вывод в свой родительский логгер. Обычно корневой логгер настроен с набором обработчиков, которые по сути являются обработчиками по умолчанию для всех логгеров.
- Параметры:
-
handler- обработчик логирования - Исключения:
-
SecurityException- если существует менеджер безопасности, этот логгер не анонимный, и у вызывающего объекта нет права LoggingPermission("control").
removeHandler
public void removeHandler(Handler handler)
throws SecurityException Удалить обработчик логов.
Возвращает без изменений, если заданный обработчик не найден или равен null
- Параметры:
-
handler- обработчик логирования - Исключения:
-
SecurityException- если существует менеджер безопасности, этот логгер не анонимный, и у вызывающего объекта нет права LoggingPermission("control").
getHandlers
public Handler[] getHandlers()
Получить обработчики, связанные с этим логгером.
- Возвращает:
- массив всех зарегистрированных обработчиков
setUseParentHandlers
public void setUseParentHandlers(boolean useParentHandlers)
Указать, должен ли этот логгер отправлять свой вывод в родительский логгер. Это означает, что все LogRecords также будут записаны в обработчики родителя и, возможно, в его родительский логгер рекурсивно по всей иерархии.
- Параметры:
-
useParentHandlers- true, если вывод должен быть отправлен родительскому логгеру. - Исключения:
-
SecurityException- если существует менеджер безопасности, этот логгер не анонимный, и у вызывающего объекта нет права LoggingPermission("control").
getUseParentHandlers
public boolean getUseParentHandlers()
Определить, отправляет ли этот логгер свой вывод в родительский логгер.
- Возвращает:
- true, если вывод должен быть отправлен родительскому логгеру
setResourceBundle
public void setResourceBundle(ResourceBundle bundle)
Устанавливает пакет ресурсов для этого логгера. Все сообщения будут записаны с использованием данного пакета ресурсов для его конкретного locale.
- Параметры:
-
bundle- пакет ресурсов, который должен использовать этот логгер. - Исключения:
-
null- если данный пакет ресурсовNullPointerException. -
IllegalArgumentException- если у данного пакета нет имени базового пакета, или если у этого логгера уже установлен пакет ресурсов, но у данного пакета другое имя базового пакета. -
SecurityException- если существует менеджер безопасности, этот логгер не анонимный, и у вызывающего объекта нет права LoggingPermission("control"). - Since:
- 1.8
getParent
public Logger getParent()
Возвращает родительский логгер для этого логгера.
Этот метод возвращает ближайшего существующего родителя в пространстве имён. Таким образом, если логгер называется "a.b.c.d", и логгер под именем "a.b" создан, но логгер "a.b.c" не существует, то вызов getParent для логгера "a.b.c.d" вернёт логгер "a.b".
Результат будет null, если он вызван для корневого логгера в пространстве имён.
- Возвращает:
- самый близкий существующий родительский логгер
setParent
public void setParent(Logger parent)
Установить родительский логгер для этого логгера. Этот метод используется LogManager для обновления логгера при изменении пространства имён.
Не следует вызывать из кода приложения.
- Параметры:
-
parent- новый родительский логгер - Исключения:
-
SecurityException- если существует менеджер безопасности, и у вызывающего объекта нет права LoggingPermission("control").
© 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.