「Groovy」- 彩色化输出日志

问题描述

在执行 Groovy 脚本时,我们希望可以彩色化输出日志,以进行提醒、区分不同的信息。比如,错误信息显示为红色,警告信息显示为黄色,成功信息显示为绿色,普通信息显示为正常颜色。

该笔记将记录:在 Groovy 中,如何使用 ANSI Color 转义序列,来控制日志输出颜色。

解决方案

方案一、直接使用转义序列

def ANSI_RESET = "\u001B[0m";
def ANSI_BLACK = "\u001B[30m";
def ANSI_RED = "\u001B[31m";
def ANSI_GREEN = "\u001B[32m";
def ANSI_YELLOW = "\u001B[33m";
def ANSI_BLUE = "\u001B[34m";
def ANSI_PURPLE = "\u001B[35m";
def ANSI_CYAN = "\u001B[36m";
def ANSI_WHITE = "\u001B[37m";

println "${ANSI_GREEN}GREEN COLORED${ANSI_RESET}NORMAL"

方案二、使用第三方的类库

@Grapes([
    @GrabResolver(name='aliyun', root='https://maven.aliyun.com/repository/central', m2Compatible='true'),
    @Grab(group='com.pi4j', module='pi4j-core', version='1.3')
])

import com.pi4j.util.ConsoleColor

println "${ConsoleColor.RED}RED COLORED${ConsoleColor.RESET}NORMAL"

参考文献

java – How to print color in console using System.out.println? – Stack Overflow
The Pi4J Project – Home