我想为日志文件中的文本添加颜色。例如,我希望包含“ERROR”文本的行呈现红色。这样,在查看该文件时,我就可以轻松找到那些包含“ERROR”的行。我尝试寻找答案,但没有找到任何有用的信息。 提前致谢。
Someprogrammerdude 建议利用观众对输出文本进行着色的能力。在vim生态系统中,这被称为“语法高亮”,但不仅限于此。
在vim中,你可以做的最简单的事情是:
:sy match my_error /.*ERROR.*/
:hi my_error ctermfg=red guifg=red
.vimrc
文件中,或者更好的方式是创建一个专门的语法文件来处理日志文件,从而定义更多的规则...这样,当我查看该文件时,我应该能够轻松找到那些带有“ERROR”的行。
给这些行添加颜色是一种方法,但有一个更简单和更惯用的方法:
$ grep ERROR /path/to/logfile | less
此命令将在 less
中显示来自/path/to/logfile
的每一行包含 ERROR
的内容。
我写了一个用于在日志文件中添加颜色的实用程序,名为TxtStyle。它可以根据配置文件~/.txts.conf
中定义的正则表达式模式来着色日志文件:
[Style="example"]
!red: regex("error")
green: regex("\d{4}-\d\d-\d\d")
# .. snip ..
要尝试它,请运行以下命令(需要Python):
sudo pip install TxtStyle
wget -q https://raw.githubusercontent.com/armandino/TxtStyle/master/example.log
txts -n example example.log
e.g.:
docker logs -f <container> | ccze -m ansi
grep
是什么吗? - Jean-Baptiste Yunès