如何使用 syslog-ng 指定 php 日志文件

How to specify a php log file using syslog-ng

在我的 PHP 脚本中,我有一行打印输出到系统日志,很像下面的行:

syslog(LOG_INFO, "Writing log info to syslog");

默认情况下,它将输出打印到 /var/log/messages。无论如何要将输出文件更改为不同的东西?我正在使用 syslog-ng 和 CentOS 6 服务器。

这与 PHP 无关(真的)。你不是在绞尽脑汁 "file" - 你正在将你的日志条目发送到系统日志守护进程,"here's something for the log named LOG_INFO",系统日志守护进程决定它应该去哪里。

如果你想定位一个特定的文件,你必须设置一个 LOG_XXXX 目标以指向系统日志配置中的那个文件 - 你不能 PHP 告诉系统日志哪个应该直接使用的文件。

如果您确实需要特定的文件定位,请改用 error_log(),您可以在其中指定要登录的文件名。