前言
日志在项目中非常常见,一般我们都是打印默认的日志。通过System.out.print(“xxx”) 或者 log.info(“xxx”) 等来打印日志。但有时我们需要打印一些彩色的日志,比如我们调试日志时,想要打印一个日志,然后在控制台定位问题,但如果控制台日志非常多,就需要找好长一段时间,如果日志是彩色的那么就很好定位了。
实现
只需要在 打印日志时日志体前后加上特殊字符即可,如下。
@Slf4j
public class TestController {
public static void main(String[] args) {
System.out.println("我是一条log");
/* 日志字体颜色 */
System.out.println(ConsoleColors.GREY+"我是一条log,我有颜色吗"+ConsoleColors.RESET);
log.info(ConsoleColors.WHITE+"我是一条log,我有颜色吗"+ConsoleColors.RESET);
/* 日志背景颜色 */
log.info(ConsoleColors.YELLOW_BACKGROUND+"我是一条log,我有背景吗"+ConsoleColors.RESET);
/* 日志字体加粗颜色 */
log.info(ConsoleColors.RED_BOLD+"我是一条特殊log"+ConsoleColors.RESET);
/* 日志字体加粗颜色 */
log.info(ConsoleColors.RED_UNDERLINED+"我是一条特殊log"+ConsoleColors.RESET);
}
}
具体颜色常量如下。
public class ConsoleColors {
// Reset
public static final String RESET = "\033[0m"; // Text Reset
// Regular Colors
public static final String WHITE = "\033[0;30m"; // WHITE
public static final String RED = "\033[0;31m"; // RED
public static final String GREEN = "\033[0;32m"; // GREEN
public static final String YELLOW = "\033[0;33m"; // YELLOW
public static final String BLUE = "\033[0;34m"; // BLUE
public static final String PURPLE = "\033[0;35m"; // PURPLE
public static final String CYAN = "\033[0;36m"; // CYAN
public static final String GREY = "\033[0;37m"; // GREY
// Bold
public static final String WHITE_BOLD = "\033[1;30m"; // WHITE
public static final String RED_BOLD = "\033[1;31m"; // RED
public static final String GREEN_BOLD = "\033[1;32m"; // GREEN
public static final String YELLOW_BOLD = "\033[1;33m"; // YELLOW
public static final String BLUE_BOLD = "\033[1;34m"; // BLUE
public static final String PURPLE_BOLD = "\033[1;35m"; // PURPLE
public static final String CYAN_BOLD = "\033[1;36m"; // CYAN
public static final String GREY_BOLD = "\033[1;37m"; // GREY
// Underline
public static final String WHITE_UNDERLINED = "\033[4;30m"; // WHITE
public static final String RED_UNDERLINED = "\033[4;31m"; // RED
public static final String GREEN_UNDERLINED = "\033[4;32m"; // GREEN
public static final String YELLOW_UNDERLINED = "\033[4;33m"; // YELLOW
public static final String BLUE_UNDERLINED = "\033[4;34m"; // BLUE
public static final String PURPLE_UNDERLINED = "\033[4;35m"; // PURPLE
public static final String CYAN_UNDERLINED = "\033[4;36m"; // CYAN
public static final String GREY_UNDERLINED = "\033[4;37m"; // GREY
// Background
public static final String WHITE_BACKGROUND = "\033[40m"; // WHITE
public static final String RED_BACKGROUND = "\033[41m"; // RED
public static final String GREEN_BACKGROUND = "\033[42m"; // GREEN
public static final String YELLOW_BACKGROUND = "\033[43m"; // YELLOW
public static final String BLUE_BACKGROUND = "\033[44m"; // BLUE
public static final String PURPLE_BACKGROUND = "\033[45m"; // PURPLE
public static final String CYAN_BACKGROUND = "\033[46m"; // CYAN
public static final String GREY_BACKGROUND = "\033[47m"; // GREY
// High Intensity
public static final String WHITE_BRIGHT = "\033[0;90m"; // WHITE
public static final String RED_BRIGHT = "\033[0;91m"; // RED
public static final String GREEN_BRIGHT = "\033[0;92m"; // GREEN
public static final String YELLOW_BRIGHT = "\033[0;93m"; // YELLOW
public static final String BLUE_BRIGHT = "\033[0;94m"; // BLUE
public static final String PURPLE_BRIGHT = "\033[0;95m"; // PURPLE
public static final String CYAN_BRIGHT = "\033[0;96m"; // CYAN
public static final String GREY_BRIGHT = "\033[0;97m"; // GREY
// Bold High Intensity
public static final String WHITE_BOLD_BRIGHT = "\033[1;90m"; // WHITE
public static final String RED_BOLD_BRIGHT = "\033[1;91m"; // RED
public static final String GREEN_BOLD_BRIGHT = "\033[1;92m"; // GREEN
public static final String YELLOW_BOLD_BRIGHT = "\033[1;93m";// YELLOW
public static final String BLUE_BOLD_BRIGHT = "\033[1;94m"; // BLUE
public static final String PURPLE_BOLD_BRIGHT = "\033[1;95m";// PURPLE
public static final String CYAN_BOLD_BRIGHT = "\033[1;96m"; // CYAN
public static final String GREY_BOLD_BRIGHT = "\033[1;97m"; // GREY
// High Intensity backgrounds
public static final String WHITE_BACKGROUND_BRIGHT = "\033[0;100m";// WHITE
public static final String RED_BACKGROUND_BRIGHT = "\033[0;101m";// RED
public static final String GREEN_BACKGROUND_BRIGHT = "\033[0;102m";// GREEN
public static final String YELLOW_BACKGROUND_BRIGHT = "\033[0;103m";// YELLOW
public static final String BLUE_BACKGROUND_BRIGHT = "\033[0;104m";// BLUE
public static final String PURPLE_BACKGROUND_BRIGHT = "\033[0;105m"; // PURPLE
public static final String CYAN_BACKGROUND_BRIGHT = "\033[0;106m"; // CYAN
public static final String GREY_BACKGROUND_BRIGHT = "\033[0;107m"; // GREY
}
测试
测试结果如下: