输出日志到终端或控制台时如何指定颜色
在开发软件时,日志可以帮助您检查运行情况并查找问题原因。如果严重错误或警告级别的日志具有易于查找的颜色,将会很有帮助。
您可以在您使用的 IDE(例如 VS Code 或 Visual Studio)中设置日志文本的颜色,但如果软件在没有 IDE 的情况下运行或在 Linux 等交叉编译环境中运行,则该设置将不会应用。因此,我将介绍一种从终端角度独立设置文本颜色的方法。
如何在 Visual Studio Code 中更改输出文本颜色
对于 VS Code,您可以通过在Settings > User > Workbanch > Appearance > Edit in Settings.json
中的workbench.colorCustomizations
中设置颜色值来更改调试控制台或输出窗口的颜色。
workbench.colorCustomizations
的参数请参考下面的链接。
如何设置文字颜色
要更改文本颜色,您需要将所需的文本居中,并在开头和结尾添加以下代码。
- 开始 :
(转义字符)[(样式代码);(文本颜色);(背景颜色)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
:将所有样式和颜色重置为默认值