1. 概述
Log4j 是 Java 编写的日志框架,有助于我们更加方便的记录项目中的信息,相对于初学者常用的 System.out 命令,Log4j 能提供很灵活和全面的信息记录功能,本文将详细介绍其 maven 依赖的引入,基本使用,日志等级以及常用的配置信息。
2. maven 依赖引入
maven 依赖查询网站: mvnrepository.com
<!-- https://mvnrepository.com/artifact/log4j/log4j -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<!-- 由于后续测试需要,可以一并引入 junit 依赖 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>compile</scope>
</dependency>
3. 测试使用
import org.apache.log4j.Logger;
import org.junit.Test;
public class log4jTest {
Logger log = Logger.getLogger(String.valueOf(log4jTest.class));
@Test
public void text() {
log.info("Hello world!");
log.error("Hello error!");
}
}
4. 配置信息
新建 log.properties 配置文件,按照以下说明修改配置信息
## 将 debug(可以选择其他等级)及以上的信息输出到stdout,后续可以详细配置各自的信息
log4j.rootLogger = debug, stdout, D
## appender 的可选择配置
# ConsoleAppender 控制台(常用)
# FileAppender 文件
# DailyRollingFileAppender 每天一个日志文件(常用)
# RollingFileAppends 文件大小达到一定尺寸后产生新文件(常用)
# WriterAppender 日志信息以流的形式发送到任意地方
## 日志等级,从低到高
# debug
# info
# warn
# error
## 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 = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n
## D信息配置
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
# 文件路径,需要自己调整
log4j.appender.D.File = /Users/suta/IdeaProjects/test/logs/myLog
log4j.appender.D.Append = true
# log4j.appender.D.Threshold = DEBUG
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n