Класс Handler
- Прямые известные подклассы:
-
MemoryHandler,StreamHandler
public abstract class Handler extends Object
Handler принимает сообщения журнала от Logger и экспортирует их. Например, он может записывать их в консоль, файл, отправлять в службу сетевого протоколирования, перенаправлять в системный журнал или каким-либо другим способом. Объект Handler может быть отключен с помощью setLevel(Level.OFF) и повторно включен с помощью setLevel с соответствующим уровнем.
Классы Handler обычно используют свойства LogManager для установки значений по умолчанию для Handler, Filter, Formatter и Level. См. конкретную документацию для каждого конкретного класса Handler.
- С тех пор:
- 1.4
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Конструктор по умолчанию. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
abstract void |
close() |
Закрыть Handler и освободить все связанные ресурсы. |
abstract void |
flush() |
Очистить буферизированный вывод. |
String |
getEncoding() |
Возвращает кодировку символов для этого Handler. |
ErrorManager |
getErrorManager() |
Получает ErrorManager для этого Handler. |
Filter |
getFilter() |
Получить текущий Filter для этого Handler. |
Formatter |
getFormatter() |
Возвращает Formatter для этого Handler. |
Level |
getLevel() |
Получить уровень журнала, определяющий, какие сообщения будут записаны этим Handler. |
boolean |
isLoggable |
Проверить, будет ли этот Handler фактически регистрировать заданное LogRecord. |
abstract void |
publish |
Опубликовать LogRecord. |
protected void |
reportError |
Защищенный вспомогательный метод для отчета об ошибке в ErrorManager этого Handler. |
void |
setEncoding |
Установить кодировку символов, используемую этим Handler. |
void |
setErrorManager |
Определить ErrorManager для этого Handler. |
void |
setFilter |
Установить Filter для управления выводом в этом Handler. |
void |
setFormatter |
Установить Formatter. |
void |
setLevel |
Установить уровень журнала, определяющий, какие уровни сообщений будут регистрироваться этим Handler. |
Подробное описание конструкторов
Handler
protected Handler()
Handler имеет уровень регистрации Level.ALL, без Formatter и без Filter. По умолчанию устанавливается экземпляр ErrorManager в качестве ErrorManager.Подробное описание методов
publish
public abstract void publish(LogRecord record)
LogRecord. Изначально запрос регистрации был сделан к объекту Logger, который инициализировал LogRecord и перенаправил его сюда.
Handler отвечает за форматирование сообщения, при необходимости. Форматирование должно включать локализации.
- Параметры:
-
record- описание события регистрации. Нулевой запись будет проигнорирована и не будет опубликована
flush
public abstract void flush()
close
public abstract void close()
Handler и освободить все связанные ресурсы. Метод close выполнит flush, а затем закроет Handler. После вызова close этот Handler больше не должен использоваться. Вызовы методов могут быть проигнорированы или могут выбросить исключения времени выполнения.
setFormatter
public void setFormatter(Formatter newFormatter)
Formatter. Этот Formatter будет использоваться для форматирования LogRecords для этого Handler. Некоторые Handlers могут не использовать Formatters, в этом случае Formatter будет запомнено, но не использовано.
- Параметры:
-
newFormatter- используемыйFormatter(не может быть null)
getFormatter
public Formatter getFormatter()
Formatter для этого Handler.- Возвращает:
Formatter(может быть null).
setEncoding
public void setEncoding(String encoding) throws UnsupportedEncodingException
Handler. Кодировка должна быть установлена перед записью каких-либо LogRecords в Handler.
- Параметры:
-
encoding- Название поддерживаемой кодировки символов. Может быть null, чтобы указать кодировку по умолчанию для платформы. - Исключения:
-
UnsupportedEncodingException- если указанная кодировка не поддерживается.
getEncoding
public String getEncoding()
Handler.- Возвращает:
- Имя кодировки. Может быть null, что указывает на использование кодировки по умолчанию.
setFilter
public void setFilter(Filter newFilter)
Filter для управления выводом в этом Handler. При каждом вызове publish, Handler вызовет этот Filter (если он не null), чтобы проверить, следует ли публиковать LogRecord или отбросить.
- Параметры:
-
newFilter- объектFilter(может быть null)
getFilter
public Filter getFilter()
Filter для этого Handler.- Возвращает:
- объект
Filter(может быть null)
setErrorManager
public void setErrorManager(ErrorManager em)
Метод "error" ErrorManager будет вызван, если возникнут какие-либо ошибки при использовании этого обработчика.
- Параметры:
-
em- новый ErrorManager
getErrorManager
public ErrorManager getErrorManager()
- Возвращает:
- ErrorManager для этого обработчика
reportError
protected void reportError(String msg, Exception ex, int code)
- Параметры:
-
msg- описательная строка (может быть null) -
ex- исключение (может быть null) -
code- код ошибки, определённый в ErrorManager
setLevel
public void setLevel(Level newLevel)
Handler. Уровни сообщений ниже этого значения будут отброшены. Цель — позволить разработчикам включить объёмную регистрацию, но ограничить сообщения, отправляемые в определённые Handlers.
- Параметры:
-
newLevel- новое значение для уровня регистрации
getLevel
public Level getLevel()
Handler. Уровни сообщений ниже этого уровня будут отброшены.- Возвращает:
- уровень регистрируемых сообщений.
isLoggable
public boolean isLoggable(LogRecord record)
Handler фактически регистрировать заданное LogRecord. Этот метод проверяет, имеет ли LogRecord соответствующий Level и удовлетворяет ли он каким-либо Filter. Он также может выполнять другие проверки, специфичные для Handler, которые могут предотвратить регистрацию обработчиком LogRecord. Он вернёт false, если LogRecord имеет значение null.
- Параметры:
-
record-LogRecord(может быть null). - Возвращает:
- true, если
LogRecordбудет зарегистрировано.
© 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/Handler.html