syslog() генерирует log-сообщение, которое будет распространено системным логером. priority это комбинация facility и уровня, значения которых заданы в следующем разделе.
Другой аргумент это сообщение для отправки, но два символа %m будут замещены строкой сообщения об ошибке (strerror), соответствующей
имеющемуся значению errno.
Таблица 1. Приоритеты syslog() (в нисходящем порядке)
Константа
Описание
LOG_EMERG
система не используема
LOG_ALERT
акция должна предприниматься немедленно
LOG_CRIT
критические условия
LOG_ERR
ошибочные условия
LOG_WARNING
предупреждающие условия
LOG_NOTICE
нормальное, но значащее условие
LOG_INFO
информационное сообщение
LOG_DEBUG
сообщение отладки
Пример 1. Using syslog()
<?php
define_syslog_variables();
// открыть syslog, включая process ID, и отправить также
// log в стандартную ошибку, использовать пользовательский механизм логинга
openlog("myScripLog", LOG_PID | LOG_PERROR, LOG_LOCAL0);
// некоторый код
if (authorized_client()) {
// сделать что-нибудь
} else {
// неавторизованный клиент!
// log попытку
$access = date("Y/m/d H:i:s");
syslog(LOG_WARNING,"Unauthorized client: $access $REMOTE_ADDR ($HTTP_USER_AGENT)");
}
closelog();
?>
О настройке пользовательского log-обработчика см. страницу
syslog.conf(5) Unix manual. Дополнительную информацию о syslog облегчениях/facilities и
опциях можно найти на man-страницах syslog(3) на Unix-машинах.
В Windows NT syslog-сервис эмулируется с использованием Event Log.