我们最近启用了对一些服务的日志文件进行着色的功能,我相信我们为此使用了 ANSI 转义序列。如下所示:
[2014-06-12 10:56:43,214] [main] [VOID] ESC[34mINFO ESC[0;39m ESC[36mc.a.m.p.s.config.DataSourceConfigESC[0;39m
我的同事们大多用它tail
来查看日志文件,但我less
更喜欢它。不幸的是,less
它不会自动识别这些转义代码。相反,它告诉我我的日志文件“可能是一个二进制文件。你看到了吗?”。
我知道如果我添加该-r
选项,less
将显示颜色,但它仍然会询问“二进制文件”的问题。
有办法解决这个问题吗?如果有,我可以将其设为默认吗?
答案1
该标志是-f
或--force
:
less -f -r myfile
为了使其成为默认值,您应该设置此环境变量,例如/etc/profile
LESS=-f
答案2
我永远不会自己给日志文件上色。这可能会破坏任何对日志文件进行操作的第三方脚本或工具(如 grep、sed、awk 等),或者至少会使日志文件的输出变得混乱。
我会在查看/跟踪日志文件时根据需要为输出添加颜色。使用colortail
例如。