Класс 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()

Закрыть Handler и освободить все связанные ресурсы.

abstract void flush()

Очистить любой буферизованный вывод.

String getEncoding()

Возвратить кодировку символов для данного Handler.

ErrorManager getErrorManager()

Получить ErrorManager для данного Handler.

Filter getFilter()

Получить текущий уровень Filter для данного Handler.

Formatter getFormatter()

Возвратить Formatter для данного Handler.

Level getLevel()

Получить уровень журнала, определяющий, какие сообщения будут записаны этим Handler.

boolean isLoggable​(LogRecord record)

Проверить, будет ли данное Handler фактически записано в журнал LogRecord.

abstract void publish​(LogRecord record)

Опубликовать LogRecord.

protected void reportError​(String msg, Exception ex, int code)

Защищенный вспомогательный метод для сообщения об ошибке в ErrorManager данного Handler.

void setEncoding​(String encoding)

Установить кодировку символов, используемую этим Handler.

void setErrorManager​(ErrorManager em)

Определить ErrorManager для данного Handler.

void setFilter​(Filter newFilter)

Установить Filter для управления выводом в данном Handler.

void setFormatter​(Formatter newFormatter)

Установить Formatter.

void setLevel​(Level newLevel)

Установить уровень журнала, определяющий, какие уровни сообщений будут записаны этим Handler.

Методы, объявленные в классе 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

Spec-Zone .ru
спецификации, руководства, описания, API