前言

日志在项目中非常常见,一般我们都是打印默认的日志。通过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 {// Resetpublic static final String RESET = "\033[0m";  // Text Reset// Regular Colorspublic static final String WHITE = "\033[0;30m";   // WHITEpublic static final String RED = "\033[0;31m";     // REDpublic static final String GREEN = "\033[0;32m";   // GREENpublic static final String YELLOW = "\033[0;33m";  // YELLOWpublic static final String BLUE = "\033[0;34m";    // BLUEpublic static final String PURPLE = "\033[0;35m";  // PURPLEpublic static final String CYAN = "\033[0;36m";    // CYANpublic static final String GREY = "\033[0;37m";   // GREY// Boldpublic static final String WHITE_BOLD = "\033[1;30m";  // WHITEpublic static final String RED_BOLD = "\033[1;31m";    // REDpublic static final String GREEN_BOLD = "\033[1;32m";  // GREENpublic static final String YELLOW_BOLD = "\033[1;33m"; // YELLOWpublic static final String BLUE_BOLD = "\033[1;34m";   // BLUEpublic static final String PURPLE_BOLD = "\033[1;35m"; // PURPLEpublic static final String CYAN_BOLD = "\033[1;36m";   // CYANpublic static final String GREY_BOLD = "\033[1;37m";  // GREY// Underlinepublic static final String WHITE_UNDERLINED = "\033[4;30m";  // WHITEpublic static final String RED_UNDERLINED = "\033[4;31m";    // REDpublic static final String GREEN_UNDERLINED = "\033[4;32m";  // GREENpublic static final String YELLOW_UNDERLINED = "\033[4;33m"; // YELLOWpublic static final String BLUE_UNDERLINED = "\033[4;34m";   // BLUEpublic static final String PURPLE_UNDERLINED = "\033[4;35m"; // PURPLEpublic static final String CYAN_UNDERLINED = "\033[4;36m";   // CYANpublic static final String GREY_UNDERLINED = "\033[4;37m";  // GREY// Backgroundpublic static final String WHITE_BACKGROUND = "\033[40m";  // WHITEpublic static final String RED_BACKGROUND = "\033[41m";    // REDpublic static final String GREEN_BACKGROUND = "\033[42m";  // GREENpublic static final String YELLOW_BACKGROUND = "\033[43m"; // YELLOWpublic static final String BLUE_BACKGROUND = "\033[44m";   // BLUEpublic static final String PURPLE_BACKGROUND = "\033[45m"; // PURPLEpublic static final String CYAN_BACKGROUND = "\033[46m";   // CYANpublic static final String GREY_BACKGROUND = "\033[47m";  // GREY// High Intensitypublic static final String WHITE_BRIGHT = "\033[0;90m";  // WHITEpublic static final String RED_BRIGHT = "\033[0;91m";    // REDpublic static final String GREEN_BRIGHT = "\033[0;92m";  // GREENpublic static final String YELLOW_BRIGHT = "\033[0;93m"; // YELLOWpublic static final String BLUE_BRIGHT = "\033[0;94m";   // BLUEpublic static final String PURPLE_BRIGHT = "\033[0;95m"; // PURPLEpublic static final String CYAN_BRIGHT = "\033[0;96m";   // CYANpublic static final String GREY_BRIGHT = "\033[0;97m";  // GREY// Bold High Intensitypublic static final String WHITE_BOLD_BRIGHT = "\033[1;90m"; // WHITEpublic static final String RED_BOLD_BRIGHT = "\033[1;91m";   // REDpublic static final String GREEN_BOLD_BRIGHT = "\033[1;92m"; // GREENpublic static final String YELLOW_BOLD_BRIGHT = "\033[1;93m";// YELLOWpublic static final String BLUE_BOLD_BRIGHT = "\033[1;94m";  // BLUEpublic static final String PURPLE_BOLD_BRIGHT = "\033[1;95m";// PURPLEpublic static final String CYAN_BOLD_BRIGHT = "\033[1;96m";  // CYANpublic static final String GREY_BOLD_BRIGHT = "\033[1;97m"; // GREY// High Intensity backgroundspublic static final String WHITE_BACKGROUND_BRIGHT = "\033[0;100m";// WHITEpublic static final String RED_BACKGROUND_BRIGHT = "\033[0;101m";// REDpublic static final String GREEN_BACKGROUND_BRIGHT = "\033[0;102m";// GREENpublic static final String YELLOW_BACKGROUND_BRIGHT = "\033[0;103m";// YELLOWpublic static final String BLUE_BACKGROUND_BRIGHT = "\033[0;104m";// BLUEpublic static final String PURPLE_BACKGROUND_BRIGHT = "\033[0;105m"; // PURPLEpublic static final String CYAN_BACKGROUND_BRIGHT = "\033[0;106m";  // CYANpublic static final String GREY_BACKGROUND_BRIGHT = "\033[0;107m";   // GREY
}

测试

测试结果如下:

Idea控制台打印彩色、带背景的日志相关推荐

  1. mybatis-plus配置控制台打印完整带参数SQL语句

    问题背景 通常我们开发的时候,需要联合控制台和Navicat/PLSQL等工具进行语句的拼接检查,如果只是输出了一堆???,那么将极大降低我们的效率.因此我们需要输出完整的SQL语句以便调试. Upd ...

  2. idea 设置log级别_IDEA+Log4j2 设置控制台打印彩色日志(示例代码)

    在Log4j 2.10以前的版本,pattern中配置%highlight属性是可以正常打印彩色日志的 例如: pattern: "%d{yyyy-MM-dd HH:mm:ss.SSS} % ...

  3. VS-c++控制台打印彩色字

    如题,简略代码如下 #include <iostream> #include <Windows.h> //VS 自带的头文件 using namespace std; /*打印 ...

  4. pycharm控制台打印彩色字体、python打印彩色字体

    一.前言 构建命令行程序很酷:命令行可以按照我们的设定完成相应的工作,相比 GUI 界面程序,无需花费大量时间设计 GUI 界面.但要使命令行程序更吸引人,仅使用普通的打印功能是无法实现的. 一个很好 ...

  5. 在浏览器控制台打印彩色文字

    浏览器控制台我们一般都是用来打印一些信息,来调试我们的代码.但是控制台也可以变得多姿多彩. console.log("%c 前端开发 %c v1.2.0 ", 'color:#ff ...

  6. mybatis-plus控制台打印SQL

    方法一.在application.yml添加配置 #mybatis-plus配置控制台打印完整带参数SQL语句 mybatis-plus:configuration:log-impl: org.apa ...

  7. 控制台打印带颜色的字符

    写Java程序的时候,为了看到程序的状态,省事时会写很多的System.out.这本来是为了看程序运行状态,结果满屏幕的输出,看起来很费劲.同样的情况出现在tomcat的日志上,System.out和 ...

  8. java如何设置控制台打印的字体颜色、背景、字体样式(idea设置打印字体样式)工具类 - 附插件方式

    效果: 设置控制台打印字体颜色.背景.字体样式,java工具类 package org.dxl.log;import java.util.Arrays;/*** 在控制台按照传入格式输出 ** @au ...

  9. shell 下使用 echo 打印彩色字体及彩色背景

    对于shell中的终端打印感觉很好玩! 首先知道shell中终端打印有echo printf一般常用的就是echo咯: 注:字体颜色 重置=0,黑色=30,红色=31,绿色=32, ×××=33,蓝色 ...

最新文章

  1. DB性能调优之RAID比较
  2. 网络:http请求之几种常见技术
  3. Google工程师:如何看待程序员普遍缺乏数据结构和算法知识?
  4. U3D屏幕坐标,世界坐标,像素坐标之间的关系
  5. # HDU - 6185 Covering
  6. [css] 举例说明跟字体相关的属性有哪些
  7. 一个很详细的web.xml讲解(转)
  8. Flutter 系列文章:Flutter Text 控件介绍
  9. ssm(spring + spring-mvc + mybatis)整合
  10. Android 学习之逐帧动画(Frame)
  11. access和wps哪个一样_Office与WPS哪个好?Office与WPS全面评测
  12. 使用jclasslib修改字节码/源码
  13. 创建选区快捷键是什么_ps选区的快捷键是什么
  14. 网上银行系统1:系统分析
  15. 活动预告|CoodeWisdom 软件智能化开发与运维学术报告系列 第4期(陈鹏飞 中山大学)...
  16. 【BasicNet系列:六】MobileNet 论文 v1 v2 笔记解读 + pytorch代码分析
  17. FTP上传成功之后却查找不到文件
  18. JSVM实现可伸缩视频编码(SVC)
  19. 使用git命令导出项目_git自动生成changelog及项目版本管理
  20. 14位IT高管及技术大牛谈Java的生态系统

热门文章

  1. threejs地球、星空、世界轮廓绘制、飞线、坐标涟漪 、旋转动画(上篇)
  2. Spring Boot项目健康检测
  3. 纸飞机飞行曲线matlab,纸飞机飞行最远的抛出角度数学建模分析
  4. 数字调制系列:如何理解IQ ?
  5. 计算机模拟技术在后处理中的应用,火灾模拟论文,关于计算机模拟技术在防火设计中的应用相关参考文献资料-免费论文范文...
  6. Linux下RTC时钟使用
  7. 通达OA V11.4漏洞 -代码审计
  8. 广义精确匹配-Coarsened Exact Matching (CEM)
  9. Kafka-Eagle 2.0.5安装
  10. FFMPEG -- av_guess_format