【Java】+日志打印+日志颜色设置
先看个效果
一、log4j日志打印配置
1.1、maven依赖
<dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency>
1.2、新建log4j.properties文件
项目src目录下新建一个文件 “log4j.properties” 文件内容如下
log4j.rootLogger=CONSOLE,stdout,logfile
#stdout控制器
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
#输出格式
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] %m%n
#文件路径输出
log4j.appender.logfile=org.apache.log4j.RollingFileAppender
log4j.appender.logfile.File=D:/keyservice.log
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] %m%n
1.3、读取log4j.properties文件
封装一个类来读取配置文件log4j.properties
package com; import org.apache.log4j.Logger; import org.apache.log4j.PropertyConfigurator; public class ZgxLoggerUtil { private static Logger log = Logger.getLogger(ZgxLoggerUtil.class); public static Logger getLogger(Class clazz) { // 封装这个的主要原因是为了读取log4j.properties配置文件 不然每次都要写一次 PropertyConfigurator.configure(String.format("%s\\src\\log4j.properties", System.getProperty("user.dir"))); Logger log = Logger.getLogger(clazz); return log; } }
1.4、开始使用
package com; import org.apache.log4j.Logger; public class Test { private static Logger log = ZgxLoggerUtil.getLogger(Test.class); public static void main(String[] args) { log.info("this is info log test"); log.debug("this is debug log test"); log.warn("this is warn log test"); log.error("this is error log test"); log.fatal("this is fatal log test"); } }
二、日志颜色设置
下载 “Grep Console” 插件
下载提示重启IDEA 重启后 配置即可
如果忍耐算是坚强 我选择抵抗 如果妥协算是努力 我选择争取
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义