带有 PHP 和自定义文件的系统日志

Posted

技术标签:

【中文标题】带有 PHP 和自定义文件的系统日志【英文标题】:syslog with PHP and a custom file 【发布时间】:2012-07-17 06:28:45 【问题描述】:

我正在尝试获取一个 php 命令行脚本来将信息性消息写入自定义文件。我正在使用安装了 OSX Lion 的 MacBook。我(现在)在我的 syslog.conf 文件中有这个:

local2.error        /var/log/myapp/error.log
local2.=warning     /var/log/myapp/info.log
local2.=notice      /var/log/myapp/info.log
local2.=info        /var/log/myapp/info.log
local2.=debug       /var/log/myapp/info.log

我的 PHP 脚本中有这个:

openlog("myapp", LOG_NDELAY, LOG_LOCAL2);
syslog(LOG_INFO, 'Testing informational messages with PHP');
closelog();

当我运行脚本时,/var/log/myapp/info.log 中没有记录任何内容,但(我认为)它应该是。

谢谢,

特洛伊

【问题讨论】:

【参考方案1】:

local2.!err 表示除错误级别之外的所有级别都将写入文件,而不是低于。

local2.=err 表示只写入错误级别。

local2.err 表示级别等于或大于将写入错误。

local2.* 表示将写入所有级别。

在你的问题中,你编码

syslog(LOG_INFO, 'Testing informational messages with PHP');

在使用local2.err 时生效,但不应该。 修改conf后重启syslogd了吗?

【讨论】:

我在 macbook 上,我正在使用 launchctl 重新启动。 syslogd 重启几次后 CPU 使用率飙升,所以我求助于重启。我需要的重新启动可能在某个地方丢失了。阅读您的帖子并重新启动后,我编辑了我的 syslog.conf 文件,但它仍然没有记录任何内容。我用新代码更新了我的帖子。有什么建议吗?

以上是关于带有 PHP 和自定义文件的系统日志的主要内容,如果未能解决你的问题,请参考以下文章

HAproxy增加日志记录功能和自定义日志输出内容格式

PHP错误处理之将错误日志保存在系统文件中

PHP错误处理之将错误日志保存在系统文件中

keepalived双主互备和自定义日志

Log4J日志配置详解和自定义log4j日志级别及输出日志到不同文件实现方法

自定义日志注解 + AOP实现记录操作日志