如何格式化HHVM错误日志输出?

时间:2015-02-25 23:18:50

标签: logging nginx hhvm hiphop

我在Hginx上使用HHVM。

我喜欢有一定的错误日志格式。具体而言,时间戳和错误级别包含错误日志中包含的时区偏移量,如:

 [2014-02-23 01:20:33 -0500] WARNING: File not found

我设法通过以下方式将时间戳记输入HHVM错误日志:

 hhvm.log.level = Warning
 hhvm.log.always_log_unhandled_exceptions = true
 hhvm.log.runtime_error_reporting_level = 8191
 hhvm.log.use_log_file = true
 hhvm.log.file = /var/log/hhvm/error.log
 hhvm.log.header = true

但是,我找不到任何格式化错误日志输出的方法。目前,这是我在HHVM错误日志中输出的内容:

 [Wed Feb 25 18:08:20 2015] [hphp] [6516:7f30a15ff700:4:000001] [] \nWarning: File not found:

有谁知道如何修改HHVM的错误日志格式?

1 个答案:

答案 0 :(得分:2)

目前这是hhvm's source中的硬编码。

我强烈推荐submitting a feature request to the hhvm team,他们是一群非常有帮助的人。

如果您对此不感兴趣,可以非常轻松地编辑时间戳调用以包含偏移量,然后重新排列snprintf()行以符合您的喜好。您正在寻找的功能是以std::string Logger::GetHeader() {开头的行 - 当前是第222行。

除此之外,您可以使用cron或后台进程(例如tail -f /var/log/some/error.log |awk -F " " '{ print $1 $5 }' >> /var/log/other/error.log &之类的内容)将日志解析为您喜欢的格式

我当然意识到,这些选项虽然功能齐全,但可能并不理想。