Как получить дату/время ошибки в журнале ошибок HHVM


Я использую HHVM 3.1.0 и nginx. Я настроен отправлять ошибки в HHVM в его собственный файл журнала, а не возвращать их через nginx. Одна вещь, которую я заметил, это то, что в ошибках отсутствует какая-либо временная метка или дата/время в списке, только строка ошибки, вот несколько примеров:

\nWarning: Invalid argument: function: not a valid callback array in /srv/http/nx/app/model/Session.php on line 57
\nFatal error: Failed to initialize storage module: user (path: ) in /srv/http/nx/app/model/Session.php on line 57 
\nWarning: Invalid argument: function: not a valid callback array

Есть ли способ лучше отформатировать эти записи журнала ошибок, чтобы они были более удобными для использования? Как минимум, чтобы появилась дата и время? Есть ли способ передавать ошибки обратно через nginx, чтобы регистрировать их таким образом, чтобы php-fpm стал бы? Вот пример использования php-fpm и получения ошибок в моем /var/log/nginx/error.log (обратите внимание на приятный формат):

  [04-Aug-2014 13:53:55 UTC] PHP Warning:  Invalid argument supplied for foreach() in /srv/http/nx/app/controller/website/SEOFinds.php on line 164

Для справки, вот мой конфигурационный файл HHVM в /etc/hhvm/php.ini

; php options

pid = /var/run/hhvm/pid
date.timezone="America/New_York"
; hhvm specific

hhvm.server.file_socket=/var/run/hhvm/hhvm.sock
;hhvm.server.port = 9000
hhvm.server.type = fastcgi
hhvm.server.default_document = index.php
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.repo.central.path = /var/run/hhvm/hhvm.hhbc
hhvm.mysql.typed_results = false

hhvm.eval.jit_warmup_requests = 0

Ниже приведен мой блок местоположения nginx:

    location ~ \.php$ {
                 fastcgi_buffer_size 128k;
                 fastcgi_buffers 128 16k;
                 fastcgi_pass unix:/var/run/hhvm/hhvm.sock;
                 fastcgi_index   index.php;
                 fastcgi_param   SCRIPT_FILENAME  $document_root$fastcgi_script_name;
                 include         fastcgi_params;
         }
Author: Ray, 2014-08-04

1 answers

Отметка времени регулируется настройкой hhvm.log.header INI. Если вы установите для него значение true, вы получите отметки времени в своих журналах.

 3
Author: simon_w, 2014-08-04 20:30:01