技术解析

怎么样让 tail -f log 可以彩色显示?
0
2021-07-13 04:06:42
idczone
比方说某一行有error这样的词就显示红色
success就显示绿色。
我想到的就是用写一个脚本实现很容易

能给个示例吗?

看 log 是否能输出颜色
比方说你 ls >> /tmp/ls.log 是没有颜色的,但是你 ls --color=always >> /tmp/ls.log 就可以有颜色了
但是我估计这种可能性不大
所以可以你自己再加一层管道输出,来自己识别。就是从标准输入一行一行读,然后正则或者别的什么方式识别每一行字符串,在对应位置加 ANSI 颜色代码,再 echo 出来
最后执行的命令就是 tail -f xxx.log | yourscript
我这有个 php 脚本格式化 git diff 输出的
https://github.com/zhengkai/config/blob/master/script/git_diff.php
最终执行命令是 git diff --no-ext-diff -b -w -z --color=never | ~/conf/script/git_diff.php
你可以参考一下

1. 安装 colout 包:
sudo pip install colout
2. 输出重定向并彩色输出
tail -f log 2>&1 | colout error red | colout success green

典型的awk需求吧
正好再看一遍awk教程
http://ferd.ca/awk-in-20-minutes.html
成品
https://gist.github.com/mcfog/dead27aa7e4b4d610578

mutiltail
grc
colortail
不用谢

tail -f log |grep success

tailf log | nc -l 8080
之后在浏览器里webconsole 写点css控制下

数据地带为您的网站提供全球顶级IDC资源