Бэкэнд обеспечивает поддержку протокола syslog, определенного в RFC3164. Бэкэнд отправляет записи журнала на удаленный хост через UDP. Имя хоста может быть определено путем вызова метода<set_target_address>. По умолчанию записи журнала будут отправлены в localhost:514. Также можно указать местный адрес, позвонив по методу<set_local_address>. По умолчанию пакеты syslog будут отправляться с любого доступного локального адреса.
Безопасно создавать несколько раковинных бэкэндов с одинаковыми локальными адресами - бэкэнды в процессе будут делиться одним и тем же сокетом. То же самое относится к различным процессам, которые используют бэкэнды syslog для отправки записей из одного сокета. Тем не менее, он не гарантирует работу, если какой-либо сторонний объект использует розетку.
В системах с нативной реализацией syslog предпочтительно использовать POSIX syslog API вместо прямого управления сокетом, чтобы обойти возможные ограничения безопасности, которые могут быть в действии. Для этого нужно передать<use_impl = native>бэкэнд-конструктору. Обратите внимание, однако, что в этом случае у вас будет только один шанс указать syslog объект и процесс идентификации строки - на первой родной syslog бэкэнд строительства. Другие нативные бэкэнды Syslog будут игнорировать эти параметры. Очевидно, что методы<set_local_address>и<set_target_address>не имеют эффекта для нативных бэкэндов. Использование<use_impl = native>на платформах без встроенной поддержки POSIX syslog API не будет иметь никакого эффекта.
syslog_backend
public
construct/copy/destruct
Конструктор. Установка UDP-подшипника-подшипникаsyslog::user. Это протокол IPv4.
[ORIG_END] -->
Конструктор. Устанавливает экклюзивную систему, а также параметры. Сопровождение:
Конструктор. Создает бэкэнд раковины с заданными названными параметрами. Поддерживаются следующие названные параметры:
facility- Указывает код объекта. Если не указано,syslog::userбудет использоваться.
[ORIG_END] -->[ORIG_END] -->
<use_impl>— указывается реализация бэкэнда. Может быть одним из:
<native>- Используйте нативный API-интерфейс, если он доступен. Если нет нативного API, он эквивалентен<udp_socket_based>.
<udp_socket_based>- Используйте реализацию на основе сокета UDP, соответствующую спецификации протокола RFC3164. Это дефолт.
<ip_version>- Указывает версию протокола IP для использования, в случае если используется реализация на основе сокета. Может быть<v4>(по умолчанию) или<v6>
.
<ident>— строка идентификации процесса. Этот параметр поддерживается только встроенной реализацией syslog.
Разрушитель
<-- [ORIG_BEGIN]
~syslog_backend();
Разрушитель
[ORIG_END] -->[ORIG_END] -->
syslog_backend public member functions
Техподготовка, экипировка, экипировка
[ORIG_END] -->
Подземная подстанция, расположенная по адресу хоста, ????
Примечание
[!-- [ORIG_BE Метод устанавливает локальное имя хоста, из которого будут отправлены записи журнала. Имя хоста решено для получения конечного IP-адреса.
Примечание
Не имеет эффекта, если бэкэнд был построен для использования нативного syslog API
Способ передает отформатированное сообщение в syslog API или отправляет на сервер syslog
Статья Class syslog_backend раздела Chapter 1. Boost.Log v2 Sinks может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.