首页 > 解决方案 > 有没有办法从 json 格式在一行中制作系统日志?

问题描述

我是日志新手。有没有办法在一行中制作系统日志?它在 info.log 中具有 json 格式,但我需要使其在 syslog 中更具可读性(用于谷歌云日志记录)。我使用 cakephp v2.1。
现在的样子:

[SYSLOG] : info: Array
[SYSLOG] : info: (
[SYSLOG] : info:     [Message] => Array
[SYSLOG] : info:         (
[SYSLOG] : info:             [user_id] => 1321
[SYSLOG] : info:             [ip] => 172.10.1.1
[SYSLOG] : info:             [user_agent] => Mozilla/5.0 (Macintosh.... etc) 
[SYSLOG] : info:         )
[SYSLOG] : info: 
[SYSLOG] : info: )

这是来自 bootstrap.php 的配置

CakeLog::config('default', [
    'engine' => 'SyslogLog',
    'types' => array('info', 'error', 'warning'),
]);

我多么想看

[SYSLOG] : info: Array([Message] => Array([user_id] => 1321[ip] => 172.10.1.1[user_agent] => Mozilla/5.0 (Macintosh.... etc)))

也许 Google Cloud Logging 中有一些工具可以解决这个问题?谢谢

标签: cakephpsyslogcakephp-2.1

解决方案


我修复了它只是改变了发送它的功能。

它怎么样:

$this->log($log, 'info');

我是如何改变的:

$this->log(json_encode($log), 'info');

PS有时简单是最好的解决方案


推荐阅读