web-dev-qa-db-ja.com

「少ない」は、出力の色が表示されるときに「バイナリファイル」の表示を求めるプロンプトを表示します

最近、いくつかのサービスのログファイルの色付けを有効にしました。そのために、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
reinhard.codes

フラグは-fまたは--forceです。

less -f -r myfile

デフォルトにするには、この環境変数をたとえば/etc/profileに設定する必要があります。

LESS=-f
6
LatinSuD

ログファイル自体に色を付けることは決してありません。これにより、ログファイルを操作したり、少なくとも出力が乱雑になったりするサードパーティのスクリプトやツール(grep、sed、awk ...など)が破損する可能性があります。

代わりに、ログファイルを監視/調整するときに、オンデマンドで出力に色を付けます。たとえば、 colortail を使用します。

1
hek2mgl