如何在Multitail中着色Rails日志?

A.D*_*.D. 19 ruby-on-rails colors tail ansi-escape

tail logs/development.logXFCE终端输出:

XFCE终端中tail logs/development.log的输出

multitail log/development.log
Run Code Online (Sandbox Code Playgroud)

multiitail log/development.log的输出

Rails会自动将转义码添加到日志文件中.见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')
Run Code Online (Sandbox Code Playgroud)

multitail -c 产生不可用的输出.

多头-c的输出

如何在不编写自己的配色方案的情况下为Multitail中的日志着色?

A.D*_*.D. 32

所有这些都是关于解释ANSI转义序列,它确实终端tail本身并且必须做multitail.它可以通过-cT ANSI选项完成:

-cT term    interpret terminal-codes from file/command (for terminal type 'term')
Run Code Online (Sandbox Code Playgroud)

例:

$ multitail -cT ansi log/development.log
multiple files:
$ multitail -cT ansi log/development.log -cT ANSI log/test.log
Run Code Online (Sandbox Code Playgroud)

multitail -cT ansi log/development.log的彩色输出

  • 我很高兴它有所帮助.实际上这是回答自己问题的主要原因 - 以后再找到它;) (4认同)
  • 我再次谷歌搜索,现在想再次投票...谢谢! (2认同)