PHP error_log() vs syslog()
Я пытаюсь решить, какую функциональность использовать для ведения журнала в пользовательский файл.
Фон
У нас есть несколько PHP-процессов, работающих как Apaches (mod_php), так и Deamons (CLI, forked). Я хотел бы иметь возможность указать файл журнала для каждого процесса/задачи для записи. Для обоих процессов Apache как Deamons несколько процессов будут записывать в один и тот же файл.
Опции
PHP предлагает error_log()
и syslog()
. Оба, кажется, предлагают более или менее ту же функциональность.
Мой вопрос
- Каковы плюсы и минусы этих функций?
- Какой из них выбрать? (и почему?)
- Что делать, если я отбрасываю требование нескольких файлов?
Ответы
Ответ 1
syslog
отправляет сообщение в регистратор ОС, а error_log
имеет несколько параметров, либо для регистратора ОС, либо для электронной почты, либо для файла, либо для обработчика журнала SAPI, как указано в документации.
Поскольку вы говорите, что хотите писать на нескольких журналах, я бы рекомендовал error_log
с $message_type = 3
, который позволяет добавлять сообщения в файл, установленный в параметре $destination
.