文章

输出日志到终端或控制台时如何指定颜色

在开发软件时,日志可以帮助您检查运行情况并查找问题原因。如果严重错误或警告级别的日志具有易于查找的颜色,将会很有帮助。

您可以在您使用的 IDE(例如 VS Code 或 Visual Studio)中设置日志文本的颜色,但如果软件在没有 IDE 的情况下运行或在 Linux 等交叉编译环境中运行,则该设置将不会应用。因此,我将介绍一种从终端角度独立设置文本颜色的方法。

如何在 Visual Studio Code 中更改输出文本颜色
对于 VS Code,您可以通过在Settings > User > Workbanch > Appearance > Edit in Settings.json中的workbench.colorCustomizations中设置颜色值来更改调试控制台或输出窗口的颜色。
workbench.colorCustomizations的参数请参考下面的链接。

https://code.visualstudio.com/api/references/theme-color

如何设置文字颜色

要更改文本颜色,您需要将所需的文本居中,并在开头和结尾添加以下代码。

  • 开始 : (转义字符)[(样式代码);(文本颜色);(背景颜色)m
  • 文本(您想要的文本)
  • 结束 : (转义字符)[0m

最后,更改文本颜色的一行将具有以下格式。

  • (转义字符)[(样式代码);(文本颜色);(背景颜色)m (您想要的文本) (转义字符)[0m

下面是黑色背景上粗体白色文本的字符串I am text的示例。

每个数字的含义请查看后面章节中的预定义代码。

1
\u001b[1;37;40mI am text\u001b[0m

我们先看下表。列出了用于更改文本颜色的每个元素。

元素强制的评论
转义字符是的使用适合您的 Unicode、八进制或十六进制转义字符。
样式代码选修的文本样式,例如粗体、闪烁、暗淡和下划线。
文字颜色选修的通过从已定义的颜色代码中选择文本颜色。
文本(前景)颜色选修的通过从已定义的颜色代码中选择文本背景颜色。
(转义字符)[0m是的设置后重置文本颜色和样式。
如果要更改多行的颜色,可以稍后在所需位置重置文本颜色。

尽管转义字符是强制性的,但您可以根据表达方法使用后面描述的三种字符之一。

您可以根据自己的喜好添加样式文本颜色背景颜色,并用;分隔它们。我们稍后将解释可以表达的选项,但顺序并不重要,因为代表每个选项的数字都是唯一的。

最后,使用(转义字符)[0m重置文本颜色和样式。除非重置,否则后续文本颜色和样式将继续。

如果要更改 shell 脚本中文本的颜色,必须将-e选项添加到echo命令中以允许反斜杠输入。

1
echo -e "\033[34m I Am Blue Text ! \033[0m"

颜色和款式代码

1. 转义字符

下面的转义字符与ASCII码中的27相同,表达方法如下,可以使用任意一种。

  • \u001b:Unicode 转义字符。它在\u之后使用 4 位十六进制 Unicode 代码点表示转义字符。
  • \033 :这表示使用八进制表示法的转义字符
  • \x1b :这表示使用十六进制表示法的转义字符

2. 风格

您可以选择文本样式,但我怀疑这是必要的。日志应该易于阅读。

  • 1:粗体(或浓烈的颜色)
  • 2:暗淡(或微弱)
  • 4:下划线
  • 5:闪烁(快速闪烁文本)
  • 7:反转(交换前景色和背景色)
  • 8:隐藏(不可见文本)

3. 文字(前景)颜色

这些是更改文本颜色的代码。将其视为覆盖您正在使用的终端客户端软件的默认设置。

  • 30:黑色
  • 31:红色
  • 32:绿色
  • 33:黄色
  • 34:蓝色
  • 35:洋红色
  • 36:青色
  • 37:白色

4. 背景颜色

  • 40:黑色背景
  • 41:红色背景
  • 42:绿色背景
  • 43:黄色背景
  • 44:蓝色背景
  • 45:洋红色背景
  • 46:青色背景
  • 47:白色背景

5. 颜色重置

如果您不重置文本颜色和样式,它将继续按初始设置。

通常,它以(转义字符)[0m的形式添加到文本末尾。

  • 0:将所有样式和颜色重置为默认值

本文由作者按照 CC BY 4.0 进行授权