Java程序打印日志

一、maven依赖

POM文件中添加以下依赖,maven依赖的jar包版本可以在maven central repository 查看

复制代码
<dependency>
	<groupId>org.projectlombok</groupId>
	<artifactId>lombok</artifactId>
	<version>1.18.34</version>
	<scope>compile</scope>
</dependency>
<dependency>
	<groupId>org.slf4j</groupId>
	<artifactId>slf4j-api</artifactId>
	<version>2.0.13</version>
	<scope>compile</scope>
</dependency>
<dependency>
	<groupId>org.slf4j</groupId>
	<artifactId>slf4j-log4j12</artifactId>
	<version>2.0.13</version>
	<scope>compile</scope>
</dependency>
<dependency>
	<groupId>org.apache.logging.log4j</groupId>
	<artifactId>log4j-to-slf4j</artifactId>
	<version>2.23.1</version>
	<scope>compile</scope>
</dependency>
<dependency>
	<groupId>org.apache.logging.log4j</groupId>
	<artifactId>log4j-api</artifactId>
	<version>2.23.1</version>
	<scope>compile</scope>
</dependency>
<dependency>
	<groupId>org.apache.logging.log4j</groupId>
	<artifactId>log4j-core</artifactId>
	<version>2.23.1</version>
	<scope>compile</scope>
</dependency>

二、配置文件

在resources目录下新建log4j.properties配置文件,配置内容如下。

复制代码
#指定打印级别和打印位置
log4j.rootLogger=DEBUG,console,infoFile,errorFile

#控制台输出
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.Target=System.out
log4j.appender.console.Threshold=INFO
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%-5p] [%t] - [%X{traceId}] - %c.%M():%L - %m%n

#输出info日志
log4j.appender.infoFile=org.apache.log4j.RollingFileAppender
log4j.appender.infoFile.File=./log/info.log
log4j.appender.infoFile.MaxFileSize=50mb
log4j.appender.infoFile.Threshold=INFO
log4j.appender.infoFile.layout=org.apache.log4j.PatternLayout
log4j.appender.infoFile.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%-5p] [%t] - [%X{traceId}] - %c.%M():%L - %m%n

#info日志中指定打印的最低级别和最高级别
log4j.appender.infoFile.filter.infoFilter=org.apache.log4j.varia.LevelRangeFilter
log4j.appender.infoFile.filter.infoFilter.levelMin=INFO
log4j.appender.infoFile.filter.infoFilter.levelMax=INFO

#输出error日志
log4j.appender.errorFile=org.apache.log4j.RollingFileAppender
log4j.appender.errorFile.File=./log/error.log
log4j.appender.errorFile.MaxFileSize=50mb
log4j.appender.errorFile.Threshold=ERROR
log4j.appender.errorFile.layout=org.apache.log4j.PatternLayout
log4j.appender.errorFile.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%-5p] [%t] - [%X{traceId}] - %c.%M():%L - %m%n

#打印sql日志
log4j.logger.org.mybatis=INFO
log4j.logger.java.sql=INFO
log4j.logger.java.sql.Statement=INFO
log4j.logger.java.sgl.ResultSet=INFO
log4j.logger.java.sq1.PreparedStatement=INFO
相关推荐
艾莉丝努力练剑29 分钟前
【LeetCode&数据结构】单链表的应用——反转链表问题、链表的中间节点问题详解
c语言·开发语言·数据结构·学习·算法·leetcode·链表
武子康2 小时前
Java-72 深入浅出 RPC Dubbo 上手 生产者模块详解
java·spring boot·分布式·后端·rpc·dubbo·nio
_殊途2 小时前
《Java HashMap底层原理全解析(源码+性能+面试)》
java·数据结构·算法
椰椰椰耶3 小时前
【Spring】拦截器详解
java·后端·spring
没有bug.的程序员4 小时前
JAVA面试宝典 - 《MyBatis 进阶:插件开发与二级缓存》
java·面试·mybatis
倔强青铜34 小时前
苦练Python第18天:Python异常处理锦囊
开发语言·python
u_topian5 小时前
【个人笔记】Qt使用的一些易错问题
开发语言·笔记·qt
没有羊的王K5 小时前
SSM框架学习——day1
java·学习
珊瑚里的鱼5 小时前
LeetCode 692题解 | 前K个高频单词
开发语言·c++·算法·leetcode·职场和发展·学习方法
又菜又爱coding5 小时前
安装Keycloak并启动服务(macOS)
java·keycloak