Класс SocketHandler
- java.lang.Object
-
- java.util.logging.Handler
-
- java.util.logging.StreamHandler
-
- java.util.logging.SocketHandler
public class SocketHandler extends StreamHandler
Простая сетевая регистрация Handler.
LogRecords публикуются в сетевое потоковое соединение. По умолчанию используется класс XMLFormatter для форматирования.
Настройка: По умолчанию каждый SocketHandler инициализируется с помощью следующих свойств конфигурации LogManager, где <handler-name> относится к полному имени класса обработчика. Если свойства не определены (или имеют некорректные значения), используются указанные значения по умолчанию.
- <имя-обработчика>.level определяет уровень по умолчанию для
Handler(по умолчаниюLevel.ALL). - <имя-обработчика>.filter указывает имя класса
Filterдля использования (по умолчанию нетFilter). - <имя-обработчика>.formatter указывает имя класса
Formatterдля использования (по умолчаниюjava.util.logging.XMLFormatter). - <имя-обработчика>.encoding имя кодировки набора символов для использования (по умолчанию кодировка по умолчанию платформы).
- <имя-обработчика>.host указывает имя целевого хоста для подключения (нет по умолчанию).
- <имя-обработчика>.port указывает целевой TCP-порт для использования (нет по умолчанию).
Например, свойства для SocketHandler будут следующими:
- java.util.logging.SocketHandler.level=INFO
- java.util.logging.SocketHandler.formatter=java.util.logging.SimpleFormatter
Для пользовательского обработчика, например com.foo.MyHandler, свойства будут следующими:
- com.foo.MyHandler.level=INFO
- com.foo.MyHandler.formatter=java.util.logging.SimpleFormatter
Выходной поток ввода-вывода буферизован, но сбрасывается после записи каждого LogRecord.
- Since:
- 1.4
Конструкторы
| Конструктор | Описание |
|---|---|
SocketHandler() |
Создает |
SocketHandler(String host,
int port) |
Создает |
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
close() |
Закрыть этот поток вывода. |
void |
publish(LogRecord record) |
Форматировать и опубликовать |
Методы, объявленные в классе java.util.logging.StreamHandler
flush, isLoggable, setEncoding, setOutputStream
Методы, объявленные в классе java.util.logging.Handler
getEncoding, getErrorManager, getFilter, getFormatter, getLevel, reportError, setErrorManager, setFilter, setFormatter, setLevel
Методы, объявленные в классе java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Подробное описание конструкторов
SocketHandler
public SocketHandler()
throws IOException
Создает SocketHandler, используя только свойства LogManager (или их значения по умолчанию).
- Throws:
-
IllegalArgumentException- если хост или порт некорректны или не указаны как свойства LogManager. -
IOException- если подключение к целевому хосту и порту невозможно.
SocketHandler
public SocketHandler(String host,
int port)
throws IOException
Создает SocketHandler с указанным хостом и портом. SocketHandler настраивается на основе свойств LogManager (или их значений по умолчанию), за исключением того, что используются переданные аргументы целевого хоста и порта. Если аргумент host является пустой строкой, но не null, то используется localhost.
- Parameters:
-
host- целевой хост. -
port- целевой порт. - Throws:
-
IllegalArgumentException- если хост или порт некорректны. -
IOException- если подключение к целевому хосту и порту невозможно.
Подробное описание методов
close
public void close()
throws SecurityException
Закрыть этот поток вывода.
- Overrides:
-
closeв классеStreamHandler - Throws:
-
SecurityException- если существует менеджер безопасности и у вызывающего объекта нетLoggingPermission("control").
publish
public void publish(LogRecord record)
Форматировать и опубликовать LogRecord.
- Overrides:
-
publishв классеStreamHandler - Parameters:
-
record- описание события регистрации. Нулевой запись игнорируется и не публикуется
© 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/SocketHandler.html