Мой PHP-вызов из node.js:
const process = exec('php ' + phpScriptPath, (err, phpResponse, stderr) => {
if (err){
this.logger.error('failed:' , err);
}
});
process.stdout.on('data', (data) => {
this.logger.info(data.toString());
});
Я отправляю логи из скрипта PHP, используя монолог, как показано ниже
журналы выглядят следующим образом:
{"name":"node","environment":"development","hostname":"local","level":50,"msg":"{\"message\":\"log message\",\"context\":{\"error\":\"error message\"},\"level\":400,\"level_name\":\"ERROR\",\"extra\":[]}\n","time":"2019-05-05T06:38:26.147Z","v":0}
с использованием Bunyan,
как я могу отформатировать это сообщение, чтобы оно было более читабельным
PHP монолог форматер:
$formatter = new \Monolog\Formatter\JsonFormatter();
$streamHandler = new \Monolog\Handler\StreamHandler('php://stdout', \Monolog\Logger::DEBUG);
$streamHandler->setFormatter($formatter);
$log->pushHandler($streamHandler);
2- Php имеет различный уровень логов, как я могу проверить, каков уровень логов в узле, как я могу отформатировать сообщение в stdout и получить уровень логов.
\"level_name\":\"ERROR\
". Например
поэтому я найду строку "ОШИБКА"
3- Как я могу вписаться между уровнем журнала в узле и php.
если мой уровень журнала узла - «ошибка», я не смогу печатать журналы стандартного вывода, потому что мой код -. "this.logger.error()"
. Мне нужно что-то более динамичное, чем жестко закодированные журналы