您的位置 首页 java

java如何打印带颜色的日志到控制台

简介

添加一些颜色可以使日志更易于阅读。

在本文中,我们将了解如何为控制台的日志添加颜色。

在开始之前,我们需要知道, Eclipse 控制台中只支持部分颜色的设置。 Eclipse 中的控制台不支持由 Java 代码设置颜色,因此本文中介绍的解决方案在 Eclipse 控制台中不起作用,代码在IDEA演示。

2. 如何使用 ANSI 代码对日志进行颜色设置

实现彩色日志记录的最简单方法是使用 ANSI 转义字符 ,通常称为 ANSI 代码。

ANSI 代码是一些终端解释为命令的特殊字节序列。

让我们打印一个 ANSI 代码:

 System.out.println("我是文本");
System.out.println("u001B[31m" + "我是红色文本");  

在输出中,我们看到 ANSI 代码没有打印出来,字体颜色变成了红色:

注意,我们需要确保在完成日志打印后重置字体颜色。

很简单, 我们可以通过打印u001B[31m,即ANSI复位命令。

重置命令会将控制台重置为其默认颜色。 不一定是黑色,它可以是白色或控制台配置的任何其他颜色。 例如:

 System.out.println("我是文本");
System.out.println("u001B[31m" + "我是红色文本" + "u001B[0m"+"清除颜色开始");
System.out.println("现在没有颜色了");  

输出结果:

大多数日志库都支持 ANSI 代码,这使我们能够构建一些丰富多彩的日志器。

例如,我们可以快速构建一个日志器,为不同的日志级别设置不同的颜色。

  private   static  final Logger LOGGER = LoggerFactory.getLogger(ConsoleCorlor20221022.class);

public  void  logDebug(String logging) {
    LOGGER.debug("u001B[34m" + 打印日志 + "u001B[0m");
}
public void logInfo(String logging) {
    LOGGER.info("u001B[32m" + 打印日志 + "u001B[0m");
}

public void logError(String logging) {
    LOGGER.error("u001B[31m" + 打印日志 + "u001B[0m");
}  

可以看到,控制台输出不同颜色的日志级别,使我们的日志更具可读性:

此外,ANSI 代码可用于控制的不仅仅是字体颜色——我们可以控制背景颜色、字体粗细和样式。

文章来源:智云一二三科技

文章标题:java如何打印带颜色的日志到控制台

文章地址:https://www.zhihuclub.com/190353.shtml

关于作者: 智云科技

热门文章

网站地图