如何使用tail或less查看彩色日志?

12

在此输入图片描述

vim 查看 Rails 日志时,我们可以看到有颜色的日志。但是当我们使用 tail -f 或者 less 来查看日志时,它就不再有颜色了。有没有什么办法让 tail 或者 less 也能显示彩色的日志呢?


1
http://unix.stackexchange.com/questions/8414/how-to-have-tail-f-show-colored-output - alf
"grc" 正是我想要的。非常感谢你。 - Benjamin
3个回答

21

-R传递给less,使其允许颜色转义序列通过,即:

less -R log/development.log

假设您使用适当的终端类型,这应该会使它们以彩色显示。


1
你能再详细解释一下“适当的终端类型”是什么吗? - Benjamin
1
颜色来自不可打印的字符,这些字符告诉您的终端切换颜色。如果您的终端未配置为显示颜色,则此操作将无效。如何设置取决于平台 - 在OS X的标准终端上,它是ANSI颜色设置。 - Frederick Cheung
没问题,谢谢! - Douglas G. Allen

7
tail -f log/development.log | ccze -A

您可能需要安装ccze。
sudo apt-get install ccze

它的工作效果更好了,虽然不完美但是有用。


2
在Mac OSX上使用brew install ccze - Obromios

1

你不能直接这样做,因为tail和less不知道Rails,而且日志保存在简单的文本文件中。你可以使用正则表达式来着色输出,但我怀疑这是否值得麻烦。

编辑:请参考Alfonso的评论以获取一些替代方案。


你是正确的。这只是一个简单的文本文件。但是,它如何在vim中显示彩色呢?文件扩展名只是.log,没有什么特别的。 - Benjamin
因为vim确实内置了语法高亮。 - Oscar Del Ben

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接