Spec-Zone.ru › OpenJDK 8

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

Закрыть 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 - описание события журнала. Нулевой 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API