Средство 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/