syslog()

Записать сообщение в системный журнал

Прототип:

#include <syslog.h>
void syslog( int priority,
const char *message,
... );

Аргументы:

priority
Приоритет сообщения.
message
Сообщение, которое требуется записать. Сообщение эквивалентно параметру format функции printf(), за исключением того, что %m заменяется екущим сообщением об ошибке (как обозначено для глобальной переменной errno). Завершающий символ \n добавляется автоматически, если он не представлен.
...
Дополнительные аргументы, определенные в инструкциях формата аргумента message.

Библиотека:

libc

Описание:

Функция syslog() пишет message в системный журнал. Затем сообщение выводится в системную консоль, log-файлы или направляется на другие машины (см. команду syslogd).

Функция vsyslog() является альтернативной формой syslog() с аргументами вида <stdarg.h>.

Уровни сообщения

Каждое сообщение снабжается тэгом priority. Приоритеты можно рассматривать как тип сообщения или уровень важности. Тип сообщения может характеризовать подсистему, ответственную за генерацию сообщения. Уровень важности определен следующим списком (упорядоченным от наиболее важного к наименее):

LOG_EMERG
Паника системы. Доставляется широковещательно всем пользователям системы.
LOG_ALERT
Сообщение, требующее немедленной реакции, например, повреждение системной базы данных.
LOG_CRIT
Критическое событие, например, серьезные ошибки устройств.
LOG_ERR
Общие ошибки.
LOG_WARNING
Предупреждения и незначительные ошибки.
LOG_NOTICE
Сообщения, не являющиеся ошибками, но потенциально требующие отдельной реакции пользователя.
LOG_INFO
Информационные сообщения.
LOG_DEBUG
Сообщения, содержащие отладочные сведения приложений и системного ПО.

Примеры:

syslog( LOG_ALERT, "who: internal error 23" );
openlog( "ftpd", LOG_PID, LOG_DAEMON );
setlogmask( LOG_UPTO( LOG_ERR ) );
syslog( LOG_INFO, "Connection from host %d", CallingHost );
syslog( LOG_INFO | LOG_LOCAL2, "foobar error: %m" );

Классификация:

POSIX 1003.1 XSI

Точка остановки потока
Да
Обработчик прерываний
Нет
Обработчик сигналов
Нет
В потоке
Нет

Тематические ссылки:

closelog(), openlog(), setlogmask(), vsyslog()

logger, syslogd в Справочнике по Утилитам




Предыдущий раздел: Описание API системной библиотеки