有没有办法从 json 格式在一行中制作系统日志?
Posted
技术标签:
【中文标题】有没有办法从 json 格式在一行中制作系统日志?【英文标题】:is there any way to make syslog in one row from json-format? 【发布时间】:2020-09-24 18:38:03 【问题描述】:我是日志新手。 有没有办法在一行中制作系统日志? 它在 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 中有一些工具可以解决这个问题?谢谢
【问题讨论】:
【参考方案1】:我修复了它,只是改变了发送它的功能。
过得怎么样:
$this->log($log, 'info');
我是如何改变的:
$this->log(json_encode($log), 'info');
附:有时简单是最好的解决方案
【讨论】:
以上是关于有没有办法从 json 格式在一行中制作系统日志?的主要内容,如果未能解决你的问题,请参考以下文章
有没有办法向 GCP 提供记录 JSON 有效负载的数据,以便它从有效负载中获取级别和时间戳?