【问题标题】:bash outputting log lines or parts of lines in colorbash以彩色输出日志行或部分行
【发布时间】:2020-08-13 11:45:09
【问题描述】:

我正在使用 Mac 终端,在 Linux 上通过 ssh 连接到 bash 帐户

我已经在命令行提示符中应用了以下颜色:

#bash_profile
parse_git_branch() {
     git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ (\1)/'
}
export PS1="\[\033[32m\]\w\[\033[33m\]\$(parse_git_branch)\[\033[00m\] $ "

所以[\033.. 部分就是这样做的。

但是,我也想这样做来控制台我正在运行的 php 脚本上的日志,特别是为日期和跟踪 ID 着色,这样它们就不会那么关注:

Aug 12 16:08:04.5072 [d05lo653148oocks0ook4oc04] [warning] Hash value: 39d26fdee9eb472ab72dafbaf88801b5
Aug 12 16:08:04.5146 [d05lo653148oocks0ook4oc04] [ORM] [debug] Kernel_Core_Orm::commit

也许还可以给[warning] 涂上不同的颜色。

我该怎么做?

【问题讨论】:

  • 您是要生成带有颜色标签的日志,还是要在事后添加颜色标签(例如,通过sedawk)?我刚刚在colorize php logs 上进行了谷歌搜索并收到了很多点击...您是否已经进行了类似的搜索并排除了这些想法?

标签: linux bash terminal syntax-highlighting


【解决方案1】:

检查一下:

$ php -r 'echo "\033[38;5;1mgood \033[38;3;2mluck \033[0mdude\n";'

\033[ -> 转义字符
38 -> 前景,使用 48 作为背景。
5 -> 不知道,你告诉我 ;-)
1 -> 红色,范围从 0 到 255。
m -> 关闭转义

最后一部分,\033[0m,重置为默认终端颜色。

在您的情况下,请使用以下内容。

<?php
echo "\033[38;5;6mAug 12 16:08:04.5072\033[0m [d05lo653148oocks0ook4oc04] \033[38;5;11m[warning]\033[0m Hash value: 39d26fdee9eb472ab72dafbaf88801b5";

我曾经写过一篇关于它的文章,check它。

【讨论】:

    猜你喜欢
    • 2021-12-23
    • 2017-05-14
    • 2015-07-15
    • 2021-09-28
    • 2017-04-09
    • 2013-04-25
    • 2012-02-07
    • 2011-10-13
    • 1970-01-01
    相关资源
    最近更新 更多