管道到其他命令(例如 grep)时保留 heroku 日志输出的颜色

Dav*_*han 6 console pipe colors

我正在使用 grep 来消除很多由 NewRelic 生成的日志噪声。我使用以下命令执行此操作:

heroku logs --force-colors -t -a myApp -s app | grep --color=never web.1
Run Code Online (Sandbox Code Playgroud)

不幸的是,日志的有用颜色在某处丢失了,并且输出是未着色的。

即使将输出移到别处,该--force-colors标志也应强制heroku logs命令输出颜色。该--color=never标志应该强制 grep 不使用他们自己的配色方案。

我已经尝试了所有可能的组合,但没有或没有这两种颜色标志,但无济于事。有人对如何解决这个问题有任何建议吗?

Dav*_*han 10

在这里找到了解决方案:

script -q /dev/null heroku logs --force-colors -t -a myApp -s app | grep --color=never web.1
Run Code Online (Sandbox Code Playgroud)

甚至不需要颜色标志,所以这也适用:

script -q /dev/null heroku logs -t -a myApp -s app | grep web.1
Run Code Online (Sandbox Code Playgroud)