1

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

Есть ли способ обойти это? Если да, могу ли я сделать это по умолчанию?

2 ответа2

6

Флаг -f или --force:

less -f -r myfile

Чтобы установить его по умолчанию, вы должны установить эту переменную среды, например, в /etc/profile

LESS=-f
1

Я бы никогда не раскрасил сами файлы журналов. Это может привести к поломке любого стороннего скрипта или инструмента (например, grep, sed, awk ...), которые будут работать с лог-файлами или, по крайней мере, загромождать их вывод.

Я бы вместо этого раскрасил вывод по требованию при просмотре / отслеживании файла журнала. Используйте colortail например.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .