Класс 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 (или их значения по умолчанию).
- Исключения:
-
IllegalArgumentException- если хост или порт некорректны или не указаны как свойства LogManager. -
IOException- если не удается подключиться к целевому хосту и порту.
SocketHandler
public SocketHandler(String host,
int port)
throws IOException
Создать SocketHandler с использованием указанного хоста и порта. SocketHandler настраивается на основе свойств LogManager (или их значений по умолчанию), за исключением того, что используются предоставленные аргументы целевого хоста и порта. Если аргумент host пустой, но не null String, используется localhost.
- Параметры:
-
host- целевой хост. -
port- целевой порт. - Исключения:
-
IllegalArgumentException- если хост или порт некорректны. -
IOException- если не удается подключиться к целевому хосту и порту.
Методы
close
public void close()
throws SecurityException
Закрыть этот поток вывода.
- Переопределяет:
-
closeв классеStreamHandler - Исключения:
-
SecurityException- если существует менеджер безопасности, и у вызывающего объекта нетLoggingPermission("control").
publish
public void publish(LogRecord record)
Отформатировать и опубликовать LogRecord.
- Переопределяет:
-
publishв классеStreamHandler - Параметры:
-
record- описание события лога. Null-запись игнорируется и не публикуется.
© 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.