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