Подтвердить что ты не робот

PHP error_log() vs syslog()

Я пытаюсь решить, какую функциональность использовать для ведения журнала в пользовательский файл.

Фон
У нас есть несколько PHP-процессов, работающих как Apaches (mod_php), так и Deamons (CLI, forked). Я хотел бы иметь возможность указать файл журнала для каждого процесса/задачи для записи. Для обоих процессов Apache как Deamons несколько процессов будут записывать в один и тот же файл.

Опции
PHP предлагает error_log() и syslog(). Оба, кажется, предлагают более или менее ту же функциональность.

Мой вопрос

  • Каковы плюсы и минусы этих функций?
  • Какой из них выбрать? (и почему?)
  • Что делать, если я отбрасываю требование нескольких файлов?
4b9b3361

Ответ 1

syslog отправляет сообщение в регистратор ОС, а error_log имеет несколько параметров, либо для регистратора ОС, либо для электронной почты, либо для файла, либо для обработчика журнала SAPI, как указано в документации.

Поскольку вы говорите, что хотите писать на нескольких журналах, я бы рекомендовал error_log с $message_type = 3, который позволяет добавлять сообщения в файл, установленный в параметре $destination.