Класс 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- описание события лога. Нулевой объект игнорируется и не публикуется
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) Защищенный вспомогательный метод для сообщения об ошибке менеджеру ошибок этого обработчика. Обратите внимание, что этот метод извлекает и использует менеджер ошибок без проверки безопасности. Поэтому он может быть использован в средах, где вызывающий объект может быть не обладающим привилегиями.
- Параметры:
-
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(может быть null). - Возвращает:
- 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.
https://docs.oracle.com/en/java/javase/11/docs/api/java.logging/java/util/logging/Handler.html