Класс StreamHandler
- Прямые известные подклассы:
ConsoleHandler, FileHandler, SocketHandler
public class StreamHandler extends Handler
Handler. Этот класс предназначен в первую очередь для использования в качестве базового или вспомогательного класса при реализации других средств ведения журналов Handlers.
LogRecords публикуются в заданный java.io.OutputStream.
Конфигурация: По умолчанию каждый StreamHandler инициализируется с использованием следующих LogManager свойств конфигурации, где <handler-name> — это полное имя класса обработчика. Если свойства не заданы (или имеют недопустимые значения), используются указанные значения по умолчанию.
- <handler-name>.level задает уровень по умолчанию для
Handler(по умолчанию —Level.INFO). - <handler-name>.filter задает имя класса
Filter, который следует использовать (по умолчаниюFilterне используется). - <handler-name>.formatter задает имя класса
Formatter, который следует использовать (по умолчанию —java.util.logging.SimpleFormatter). - <handler-name>.encoding задает имя кодировки набора символов, которую следует использовать (по умолчанию используется кодировка платформы).
Например, свойства для StreamHandler будут следующими:
- java.util.logging.StreamHandler.level=INFO
- java.util.logging.StreamHandler.formatter=java.util.logging.SimpleFormatter
Для пользовательского обработчика, например com.foo.MyHandler, свойства будут следующими:
- com.foo.MyHandler.level=INFO
- com.foo.MyHandler.formatter=java.util.logging.SimpleFormatter
- Начиная с:
- 1.4
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
StreamHandler() |
Создает StreamHandler без текущего выходного потока. |
StreamHandler |
Создает StreamHandler с заданным Formatter и выходным потоком. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
close() |
Закрывает текущий выходной поток. |
void |
flush() |
Сбрасывает все буферизованные сообщения. |
boolean |
isLoggable |
Проверяет, будет ли этот Handler фактически регистрировать заданный LogRecord. |
void |
publish |
Форматирует и публикует LogRecord. |
void |
setEncoding |
Задает (или изменяет) кодировку символов, используемую этим Handler. |
protected void |
setOutputStream |
Изменяет выходной поток. |
Методы, объявленные в классе Handler
getEncoding, getErrorManager, getFilter, getFormatter, getLevel, reportError, setErrorManager, setFilter, setFormatter, setLevel | Модификатор и тип | Метод | Описание |
|---|---|---|
String |
getEncoding() |
Возвращает кодировку символов для этого Handler. |
ErrorManager |
getErrorManager() |
Получает ErrorManager для этого обработчика. |
Filter |
getFilter() |
Получает текущий Filter для этого Handler. |
Formatter |
getFormatter() |
Возвращает Formatter для этого Handler. |
Level |
getLevel() |
Получает уровень ведения журнала, определяющий, какие сообщения будут записываться этим Handler. |
protected void |
reportError |
Защищенный вспомогательный метод для передачи ошибки в ErrorManager этого обработчика. |
void |
setErrorManager |
Задает ErrorManager для этого обработчика. |
void |
setFilter |
Задает Filter для управления выводом в этом Handler. |
void |
setFormatter |
Задает Formatter. |
void |
setLevel |
Задает уровень ведения журнала, определяющий, сообщения каких уровней будут записываться этим Handler. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создает и возвращает копию этого объекта. |
boolean |
equals |
Указывает, равен ли этот объект какому-либо другому объекту. |
protected void |
finalize() |
Устарело, планируется удаление: этот элемент API может быть удален в будущей версии. Финализация устарела и может быть удалена в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
String |
toString() |
Возвращает строковое представление объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени. |
Подробное описание конструкторов
StreamHandler
public StreamHandler()
StreamHandler без текущего выходного потока.StreamHandler
public StreamHandler(OutputStream out, Formatter formatter)
StreamHandler с заданным Formatter и выходным потоком.- Параметры:
-
out— целевой выходной поток -
formatter— форматтер, используемый для форматирования вывода
Подробное описание методов
setOutputStream
protected void setOutputStream(OutputStream out)
Если текущий выходной поток существует, записывается завершающая строка Formatter, после чего поток сбрасывается и закрывается. Затем текущий выходной поток заменяется новым.
- Параметры:
-
out— новый выходной поток. Не может быть null.
setEncoding
public void setEncoding(String encoding) throws UnsupportedEncodingException
Handler. Кодировку следует задать до записи каких-либо LogRecords в Handler.
- Переопределяет:
-
setEncodingв классеHandler - Параметры:
-
encoding— имя поддерживаемой кодировки символов. Может быть null, что указывает на использование кодировки платформы по умолчанию. - Исключения:
-
UnsupportedEncodingException— если указанная кодировка не поддерживается.
publish
public void publish(LogRecord record)
LogRecord. Сначала StreamHandler проверяет, существует ли OutputStream и соответствует ли заданный LogRecord требуемому уровню ведения журнала. Если нет, метод молча возвращает управление. В противном случае он вызывает связанный Filter, чтобы проверить, следует ли публиковать запись. Если да, он вызывает свой Formatter для форматирования записи, а затем записывает результат в текущий выходной поток.
Если это первая LogRecord, записываемая в заданный OutputStream, перед записью LogRecord в поток записывается начальная строка Formatter.
- Определяется в:
-
publishв классеHandler - Требования к реализации:
- Этот метод не захватывает блокировки во время форматирования
LogRecord, однако экземплярthisсинхронизируется при записи в выходной поток. Во избежание риска взаимной блокировки подклассы не должны удерживать блокировки при вызовеsuper.publish(). В частности, подклассы не должны объявлять переопределенный методpublish()какsynchronized, если они вызываютsuper.publish(). - Параметры:
-
record— описание события журнала. Запись null игнорируется без уведомления и не публикуется
isLoggable
public boolean isLoggable(LogRecord record)
Handler фактически регистрировать заданный LogRecord. Этот метод проверяет, имеет ли LogRecord подходящий уровень и удовлетворяет ли он каким-либо Filter. Также возвращается false, если выходной поток еще не назначен или LogRecord имеет значение null.
- Переопределяет:
-
isLoggableв классеHandler - Параметры:
-
record—LogRecord(может иметь значение null). - Возвращает:
- true, если
LogRecordбудет записан.
flush
close
© 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.