RT
不缩进,不方便阅读 缩进,grep只输出单行
我们也有这样的问题 提供我们现在项目的解决方案。你可以参考下; 我们的日志也是通过一个日志系统将线上的日志拉到开发机。拉过来后也是json的;为了输出方便,我们单独写了一个命令来输出友好的日志格式;
原格式是这样的:{“hello”: “world”, “nihao”: “shijie”}
命令行使用:tail -f xxx.log | grep ‘key’ | pj
输出后的格式是这样的: @hello: world @nihao:shijie
命令代码如下:
#!/usr/bin/env php <?php $fp=fopen('php://stdin','r'); $content=''; $args = isset($argv[1])?$argv[1]:0; if($fp){ while($line=fgets($fp)){ $res = json_decode($line,true); if($args){ //print_r("\033[0;0;32m".$res[$args]."\033[0m\n"); echo "\n"; print_r($res[$args]); echo "\n\n"; }else{ foreach($res as $k =>$v){ echo "\033[0;0;32m".str_pad($k,10," ")." \033[0m"."\033[0;0;33m $v \033[0m \n"; } echo "\n\n"; } } fclose($fp); }
pj的意思是: php json。好囧的取名。 具体的效果图看我的 github
感觉日志单行好些。便于日志分析。grep 查找的话,后面可以对 JSON format 一下
@hinson0 谢谢你的回复 我有空用node写个玩玩
@hinson0 异常信息呢?? 那可不是json
CNode 社区为国内最专业的 Node.js 开源技术社区,致力于 Node.js 的技术研究。
我们也有这样的问题 提供我们现在项目的解决方案。你可以参考下; 我们的日志也是通过一个日志系统将线上的日志拉到开发机。拉过来后也是json的;为了输出方便,我们单独写了一个命令来输出友好的日志格式;
原格式是这样的:{“hello”: “world”, “nihao”: “shijie”}
命令行使用:tail -f xxx.log | grep ‘key’ | pj
输出后的格式是这样的: @hello: world @nihao:shijie
命令代码如下:
pj的意思是: php json。好囧的取名。 具体的效果图看我的 github
感觉日志单行好些。便于日志分析。grep 查找的话,后面可以对 JSON format 一下
@hinson0 谢谢你的回复 我有空用node写个玩玩
@hinson0 异常信息呢?? 那可不是json