Учебник РНР
НазадВперёд

syslog

(PHP 3, PHP 4)

syslog - генерирует системное log-сообщение.

Описание

int syslog (int priority, string message)

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.

См. также define_syslog_variables(), openlog() и closelog().


НазадОглавлениеВперёд
socket_set_timeoutВверхФункции управления экраном терминала Ncurses