«Меньше» запрашивает отображение «двоичного файла», когда цвета выводятся

4741
reinhard.codes

Недавно мы включили раскрашивание лог-файлов нескольких сервисов, я думаю, что для этого мы используем escape-последовательности 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

2 ответа на вопрос

6
LatinSuD

The flag is -f or --force:

less -f -r myfile 

In order to make it default you should set this environment variable, for example in /etc/profile

LESS=-f 
1
hek2mgl

I would never colorize the logfiles themself. This would potentially break any third party script or tool (like grep, sed, awk ...) that would operate on the logfiles or at least clutter their output.

I would instead colorize the output on demand when watching/tailing the logfile. Use colortail for example.

Похожие вопросы