我在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的错误日志格式?
答案 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 &
之类的内容)将日志解析为您喜欢的格式
我当然意识到,这些选项虽然功能齐全,但可能并不理想。