2

我正在考虑迁移基于 Apache 的 Drupal 安装,但需要具有基于 rsyslog 的远程错误日志记录。我们正在使用 Amazon EC2,写入来来去去的实例的 error_log 文件有点像噩梦。特别是,如果应用程序遇到 PHP 错误,我们需要在它们发生时立即查看。

假设我们使用的是 nginx 和 php-fpm,如果我将以下内容放入 fpm 池定义中,它会起作用:

error_log = /path/to/logs/error.log

因为如果我在 PHP 中执行此操作,它确实会转到 /path/to/logs/error.log:

<?php
  error_log('send this to our log');
?>

但是,如果我将池设置为

error_log = syslog

据我所知,输出根本不去任何地方。至少,我还没有弄清楚 Ubuntu 上 rsyslog.conf 的配置,它将接收任何输入。

使用 nginx 和 php-fpm 时获得集中式错误日志记录的最佳方法是什么?我使用的是 Ubuntu 11.10,带有 php5-fpm 和 nginx 的打包版本。

4

1 回答 1

0

nginx 在这里无关。我会推荐 Drupal 的 syslog 模块。穿上它,然后一切都进入系统日志,该系统日志将进入看门狗,它也会捕获 PHP 错误。

PHP 也有一个原生的 syslog() 函数。

如果您使用的是 syslog-ng,我认为您可以将正常的 php 日志路由到 syslog,但我从未听说过能够执行 error_log = syslog。

于 2013-08-12T11:48:39.710 回答