【问题标题】:How to color text in log files in linux如何在Linux中为日志文件中的文本着色
【发布时间】:2018-08-15 09:58:38
【问题描述】:

我想为日志文件中的文本添加颜色。 例如我希望包含文本“错误”的行显示为红色。因此,当我查看该文件时,我应该能够轻松找到那些带有“错误”的行。我试图寻找问题的答案,但找不到任何有用的东西。 提前致谢。

【问题讨论】:

  • 试试看lnav
  • 我建议您不要为文件本身添加任何颜色代码,而是确保 viewer 可以为文本着色。许多查看器和文本编辑器都包含添加自定义突出显示的功能。
  • 我该怎么做?我想按照 VIM 为代码段定义颜色的方式来做。 @Someprogrammerdude
  • Here 是类似的东西,你可以检查一下。最好的,
  • 你不知道grep是什么吗?

标签: linux unix logging vim colors


【解决方案1】:

Someprogrammerdude 建议使用查看器的能力来对输出进行着色。它在 vim 生态系统中称为“语法突出显示”,但不仅限于此。

你可以在 vim 中做的最简单的事情是:

:sy match my_error /.*ERROR.*/
:hi my_error ctermfg=red guifg=red

您可以将这些行添加到您的.vimrc,或者更好的是为您的日志文件创建一个特殊的语法文件,您可以在其中定义更多规则...

【讨论】:

    【解决方案2】:

    所以当我查看该文件时,我应该能够轻松找到那些带有“错误”的行。

    为这些线条着色是一种方法,但还有一种更简单、更惯用的方法:

    $ grep ERROR /path/to/logfile | less
    

    将向您显示包含 ERROR 的每一行,从 /path/to/logfileless

    【讨论】:

      【解决方案3】:

      我编写了一个用于为日志文件着色的实用程序,名为TxtStyle。它可以根据配置文件~/.txts.conf中定义的正则表达式模式为日志文件着色:

      [Style="example"]
      !red: regex("error")
      green: regex("\d{4}-\d\d-\d\d")
      # .. snip ..
      

      要试用它,请运行(需要 Python):

      sudo pip install TxtStyle
      wget -q https://raw.githubusercontent.com/armandino/TxtStyle/master/example.log
      txts -n example example.log
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-03-19
        • 2017-07-07
        • 2021-11-19
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多