Как раскрасить логи Rails в Multitail?

Выход из tail logs/development.log в терминале XFCE:

вывод хвостовых логов / development.log в XFCE Terminal

multitail log/development.log

вывод многоступенчатого журнала / development.log

Rails добавляет escape-коды к файлам журнала автоматически. Увидеть development.log файл:

  ^[[1m^[[36m (84.1ms)^[[0m  ^[[1mCREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL) ^[[0m
  ^[[1m^[[35m (92.6ms)^[[0m  CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
  ^[[1m^[[36m (0.2ms)^[[0m  ^[[1mSELECT version FROM "schema_migrations"^[[0m
  ^[[1m^[[35m (159.3ms)^[[0m  INSERT INTO "schema_migrations" (version) VALUES ('20130327221553')
  ^[[1m^[[36m (59.9ms)^[[0m  ^[[1mINSERT INTO "schema_migrations" (version) VALUES ('20130326152730')^[[0m
  ^[[1m^[[35m (59.8ms)^[[0m  INSERT INTO "schema_migrations" (version) VALUES ('20130327173637')

multitail -c производить неиспользуемый вывод.

Вывод мультитейла -c

Как раскрасить логи в Multitail без написания собственной цветовой схемы?

1 ответ

Решение

Все дело в интерпретации escape-последовательностей ANSI, которые не tail сам и должен делать multitail также. Это может быть сделано с -cT ANSI опция:

-cT term    interpret terminal-codes from file/command (for terminal type 'term')

Пример:

$ multitail -cT ansi log/development.log
multiple files:
$ multitail -cT ansi log/development.log -cT ANSI log/test.log

цветной вывод команды multitail -cT ansi log / development.log

Другие вопросы по тегам