终端日志高亮
运维排查线上故障时,几百行日志刷屏,关键错误码和警告行混在一起。手动逐行看容易漏掉致命异常。用本工具把日志中的 ERROR 行设为红底白字、WARN 行设为黄底黑字、INFO 行恢复默认,一眼扫过就能定位问题行,排查时间从 15 分钟缩到 3 分钟。
\033[38;5;Nm(按住时设为前景)在终端里调试日志输出,刚调好前景色,一加背景色,整行字糊成一团——因为忘了关转义序列。这个工具把 ANSI 转义码拆成前景、背景、样式三块单独生成,选完颜色和粗斜体,右侧直接出可复制的纯文本代码。所有计算在浏览器内完成,颜色值、样式组合不会离开本地。
运维排查线上故障时,几百行日志刷屏,关键错误码和警告行混在一起。手动逐行看容易漏掉致命异常。用本工具把日志中的 ERROR 行设为红底白字、WARN 行设为黄底黑字、INFO 行恢复默认,一眼扫过就能定位问题行,排查时间从 15 分钟缩到 3 分钟。
GitLab CI 流水线跑完,构建、测试、部署三个阶段的输出全挤在同一段灰底白字里。开发者在滚动条里反复拖拽找“测试失败”那一段。用本工具给每个阶段加不同的前景色和背景色——构建用蓝字、测试用黄字、部署用绿字,阶段切换时颜色骤变,一眼定位失败阶段。
共享开发服务器上,A 和 B 同时用同一个终端窗口跑后台任务。A 的编译输出和 B 的测试输出混在一起,谁都不敢按 Ctrl+C 怕误杀对方进程。用本工具给各自启动的命令行加不同背景色(A 用淡紫底、B 用淡青底),输出行底色不同,谁的任务出问题一目了然。
讲师在直播课里演示 Python 爬虫,控制台输出大量 JSON 数据和错误堆栈。学员在弹幕里问“哪一行是报错”。讲师用本工具把 stdout 设为绿字、stderr 设为红字,并给关键步骤(如“请求成功”“解析完成”)加粗闪烁样式,学员无需解释就能分清正常输出与异常。
运维大屏上同时展示 20 台服务器的 CPU、内存、磁盘告警,所有告警行都是默认白字。值班人员要逐行读文字判断“磁盘 90%”比“CPU 80%”更紧急。用本工具将 P0 级告警设为红底白字闪烁、P1 级设为黄底黑字、P2 级保持原样,紧急程度靠颜色就能排序,响应速度提升 40%。
| 输入 | 输出 | 说明 |
|---|---|---|
| \e[31mHello\e[0m | Hello(红色前景) | 常规:最基础的前景色设置,验证转义序列是否被正确解析并渲染为红色,同时确认重置序列 \e[0m 能清除样式。 |
| \e[1;33mWarning\e[0m | Warning(加粗 + 黄色前景) | 常规:组合样式(加粗+颜色),验证多个参数用分号拼接的写法,以及加粗与前景色同时生效的效果。 |
| \e[42mGreen BG\e[0m | Green BG(绿色背景) | 常规:纯背景色设置,验证背景色代码(40-47)的解析,确认前景色未指定时使用终端默认色。 |
| \e[38;5;196mBright Red\e[0m | Bright Red(256色模式红色前景) | 边界:256色扩展色,验证 38;5;N 格式是否支持,并检查色号 196 是否对应标准红色(非 ANSI 基础红)。 |
| \e[48;5;232mDark BG\e[0m | Dark BG(接近黑色的背景) | 边界:256色背景的极暗值(232),验证低端色号是否被正确映射,避免与纯黑色混淆。 |
| \e[4mUnderline\e[24m | Underline(下划线样式) | 边界:仅样式无颜色,验证独立样式代码(4=下划线)及其关闭码(24)是否正常,确认样式与颜色可分离。 |
| \e[31;42mRed on Green\e[0m | Red on Green(红色前景 + 绿色背景) | 易错:前景与背景同时设置,注意顺序(前景在前、背景在后)是否影响渲染,以及组合后是否产生冲突(如红绿对比)。 |
| \e[7mInverted\e[27m | Inverted(前景与背景互换显示) | 易错:反转模式(7)的视觉效果依赖终端实现,部分工具可能不支持或表现不一致,需验证是否正常翻转。 |
1.前景色与背景色顺序写反
[47;31m 白底红字[31;47m 红字白底ANSI 转义序列中颜色参数顺序无严格要求,但常见习惯是前景在前、背景在后。部分终端解析时若顺序颠倒可能导致颜色互换或显示异常。
2.忘记用 m 结尾,序列不生效
[31 红色[31m 红色ANSI SGR(Select Graphic Rendition)序列必须以小写字母 m 结束,缺少 m 终端无法识别为颜色指令,整个序列会被当作普通文本输出。
3.分号误用为逗号或空格
[31,47m 或 [31 47m[31;47mANSI 转义序列中多个参数必须用分号 ; 分隔,逗号或空格均不符合规范(ECMA-48),终端会忽略无效分隔符后的参数。
4.样式与颜色顺序不当导致样式被覆盖
[1;31m 粗体红色 [0m[31;1m 粗体红色 [0m某些终端解析时后设置的属性会覆盖前面的。若先设粗体再设颜色,可能颜色生效而粗体丢失;将颜色放前面可提高兼容性。
5.使用 256 色但漏掉 38;5 前缀
[196m 亮红色[38;5;196m 亮红色256 色扩展色必须通过 38;5;n(前景)或 48;5;n(背景)调用,直接写颜色编号 n 会被终端当作标准 8/16 色索引,显示完全不同。
6.真彩色(24位)格式写错
[38;2;255;0;0m 红色[38;2;255;0;0m 红色(正确)真彩色序列格式为 [38;2;R;G;Bm,其中 R/G/B 取值范围 0-255。常见错误是写成 38;2;R,G,B 或漏掉分号,导致终端无法解析。
7.重置序列 [0m 位置不当,影响后续文本
红色文字[0m 普通文字红色文字[0m 普通文字(正确)重置序列 [0m 会清除所有样式(颜色、粗体、下划线等)。若放在行尾而非紧接在着色文本后,会导致后续整行文本丢失样式。
SGR = 38;2;R;G;Bm 或 48;2;R;G;Bm
SGR选择图形再现参数,38=前景,48=背景R红色通道值,0–255 整数G绿色通道值,0–255 整数B蓝色通道值,0–255 整数设置前景色为橙色 (R=255, G=165, B=0):序列为 \033[38;2;255;165;0m。终端收到后解析 SGR=38 表示前景,RGB 通道值依次为 255、165、0,混合后显示橙色。
最常见原因是缺少 ESC 转义字符(\x1b 或 \033)。本工具要求输入完整的转义序列,例如 \033[31m,而不是纯数字 31m。另外,某些终端模拟器对 8 位色(38;5;N)和 24 位色(38;2;R;G;B)的支持程度不同,如果代码正确但预览不生效,可以尝试切换为 16 色标准代码(如 31/41/1/4)验证。
不同终端模拟器(如 Windows Terminal、iTerm2、GNOME Terminal)对 ANSI 标准的实现有细微差异。例如 Windows 默认的 cmd 对 24 位真彩色支持较弱,而 macOS 的 Terminal.app 对斜体样式(\033[3m)可能忽略。本工具预览基于 Web 标准渲染,与实际终端表现可能存在偏差,建议先用工具验证代码结构,再在目标终端实测。
这是 24 位真彩色前景色的标准格式:\033[38;2;R;G;Bm,R/G/B 各取值 0-255。例如 38;2;255;0;0 是红色前景。类似地,48;2 开头表示背景色。本工具支持直接在输入框里写这种序列,预览区会实时渲染。如果记不住 RGB 值,也可以先用颜色选择器(如果有)生成代码后粘贴。
\033[0m 会重置所有属性(颜色、样式、亮度),但前提是它必须出现在需要重置的位置之后。常见错误是把重置代码放在了换行符前面,而终端渲染时换行会打断序列作用域。建议将重置序列紧跟在需要结束样式的文本后面,例如 '红色文字\033[0m普通文字',中间不要加换行。如果仍不生效,检查是否混入了不可见字符。
可以,使用分号合并即可,例如 \033[1;3;31m 表示粗体+斜体+红色前景。但不同终端对组合样式的支持不同:粗体通常没问题,斜体在部分终端(如 Windows 旧版 cmd)会被忽略,闪烁(5/6)在多数现代终端中也不支持。本工具会尽力模拟组合效果,但最终呈现以目标终端为准。
本工具仅提供 ANSI 转义序列的预览和验证,不直接输出 HTML/Markdown。如果需要转换,可以手动映射:\033[31m 对应 <span style="color:red">,\033[1m 对应 <strong>。部分在线转换服务(如 ansi-to-html)支持批量转换。如果只是临时查看效果,直接在本工具预览区复制渲染后的文本即可。
本工具对输入长度没有硬性限制,但如果日志中包含大量连续的非打印字符(如 \033[K 清除行、\033[nA 光标移动等),这些序列在纯预览模式下不会产生可见效果,可能导致视觉上感觉内容被截断。建议先过滤掉光标移动和清屏序列,只保留颜色和样式相关的代码再粘贴。
隐私保证所有计算与处理均在你的浏览器本地完成,输入数据不会上传服务器,也不会保存或共享。