Пишем сообщения в системный журнал при помощи syslog()

Средство syslog — очень мощный инструмент для отладки ваших web-приложений. С помощью него вы можете наблюдать, какие модули и SQL-запросы выполняются, а также значения каких переменных изменяются, когда вы ходите по Web-сайту. Это помогает точно определять модули, в которых, вероятно, имеются проблемы или критические ошибки.

Функция syslog()

// функция пишет сообщение в системный журнал,
// возвращая true в случае успеха, false - в случае ошибки.
bool syslog (int Приоритет, string Сообщение);

Возможные значения приоритетов

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

Что писать в журнал

Что и куда писать, решать вам. Лично я в своих проектах использую syslog для записи сообщений об ошибках (недоступна база данных, файл не существует, пользователь не авторизован), отладочной информации (модуль запущен, сделан такой-то запрос к базе данных, модуль остановлен) и тд.

Пример

if (authorized_client()) {
    // Если пользователь авторизован
    // делаем что-нибудь
} else {
    // Если не авторизован
    // пишем сообщение в лог
    $date = date("Y/m/d H:i:s");
    syslog(LOG_WARNING, "Не авторизованный клиент: {$date} {$_SERVER['REMOTE_ADDR']} ({$_SERVER['HTTP_USER_AGENT']})");
}

Теперь откройте окно X-терминала и введите следующую команду, чтобы увидеть, что было записано в файл /var/log/messages:


tail /var/log/messages

Вы должны увидеть примерно следующий текст


Feb 09 14:43:42 localhost apache2: 127.0.0.1: test.php - Не авторизованный клиент: 2011/02/09 14:43:44 127.0.0.1 Mozilla...

Для просмотра живого лога используйте параметр -f


tail -f /var/log/messages

Ссылки

Источник: https://www.kobzarev.com/programming/writing-messages-to-the-syslog/

Михаил Кобзарёв

Суровый русский тимлид. Жил в Магадане, в офисе московских веб студий и в Тульской деревне. Виртуозно знает WordPress, PHP, ООП, Vue.js и вот это вот все. Делает крутые высоконагруженные сайты, поэтому уже почти захватил весь рынок WordPress разработки в России. Не дает никому делать сайты без спроса. Ведет блог о разработке, дайджест в телеграмме и в ВК. Любит сиськи, баню и радиоэлектронику. 100% патриот (но это не точно). Тролль 542 уровня. Ездит в отпуск раз в 5 лет.

Добавить комментарий

%d такие блоггеры, как: