Открыть системный журнал
#include <syslog.h>
void openlog( const char *ident,
int logopt,
int facility );
- ident
- Строка-префикс, которую необходимо добавить к каждому сообщению.
- logopt
- Битовое поле, определяющее параметры журналирования; значение аргумента определяется логическим ИЛИ следующих констант:
- LOG_CONS
- Если syslog() не сможет записать сообщение в syslogd, тогда сообщение будет записано в
/dev/console
. Обычно /dev/console
является символьной ссылкой (смотрите ln) на реальное устройство (например, /dev/text
, /dev/con1
или /dev/ser1
). - LOG_NDELAY
- Установить соединение с
syslogd
немедленно. Обычно соединение откладывается до отправки первого сообщения в журнал. - LOG_PERROR
- Писать сообщения как в
syslogd
, так и в stderr. - LOG_PID
- Добавлять PID в каждое сообщение. Это полезно для идентификации процессов отправителей (например, экземпляров демонов).
- facility
- Тип программы-отправителя, который по умолчанию будет назначаться всем отправляемым сообщениям. Константы, помеченные (*) не используются в стандартных утилитах ЗОСРВ «Нейтрино».
- LOG_AUTH *
- Авторизация в системе.
- LOG_AUTHPRIV *
- То же самое, что
LOG_AUTH
, только журналирования ведётся в файл, доступный выбранным пользователям. - LOG_CRON *
- Служба времени.
- LOG_DAEMON
- Системная служба, которая не учтена в других типах программ, например, routed.
- LOG_FTP
- Служба FTP.
- LOG_KERN *
- Сообщения ядра. Сообщения данного типа не могут быть посланы какими-либо пользовательскими процессами.
- LOG_LPR
- Система буферизации в принтере (spooler).
- LOG_MAIL
- Почтовая подсистема.
- LOG_NEWS *
- Подсистема протокола NNTP.
- LOG_SYSLOG
- Сообщения, созданные syslogd.
- LOG_USER *
- Сообщения, созданные пользовательским процессом. Используется по умолчанию для сообщений без заранее указанного типа.
- LOG_UUCP *
- Сообщения подсистемы uucp.
- LOG_LOCAL0
- ...
- LOG_LOCAL7 *
- Зарезервировано для локального использования.
libc
Функция openlog() открывает системный журнал и обеспечивает более детализированную оправку сообщений функциями syslog() и vsyslog().
См. syslog()
POSIX 1003.1 X/Open Systems Interfaces Extension
- Да
- Обработчик прерываний
- Нет
- Обработчик сигналов
- Нет
- В потоке
- Да
closelog(), setlogmask(), syslog(), vsyslog()
logger, syslogd
Предыдущий раздел: Описание API системной библиотеки