Верх страницы
Обложка к записи Пишем сообщения в системный журнал при помощи syslog()
Время для прочтения: 0 мин. 8 сек.

Пишем сообщения в системный журнал при помощи 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

Ссылки

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

Русский разработчик с 20-ти летним стажем. Работаю с PHP, ООП, JavaScript, Git, WordPress, Битрикс, Joomla, Drupal, Opencart, DLE, Laravel, Moonshine, SuiteCRM.

Оптимизирую сайты под Google Page Speed, настраиваю импорты для больших магазинов на WooCommerce + WP All Import. Пишу плагины на заказ. Все мои услуги.

Веду блог о разработке, дайджест в телеграмме и в ВК.

Вы всегда можете нанять меня.

Комментарии
Подписаться
Уведомить о
guest

0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
Предыдущая запись
Следующая запись

Давайте дружить
в Телеграме

Авторский блог вашего покорного слуги в Telegram про web, программирование, алгоритмы, инструменты разработчика, WordPress, Joomla, Opencart, Laravel, Moonshine, фильмы и сериалы