本文使用IDEA版本为: IntelliJ IDEA 2024.1 (Community Edition), 操作系统为: Ubuntu 18.04.5 LTS
一、新建项目
打开IDEA, 右上角点击: New Project,填写项目名称,构建工具选择: Maven,点击 Create
新建完毕后,目录结果如下:
二、新增依赖Log4j
1. pom.xml修改
进入log4j官网, 添加 log4j库到 maven 项目: logging.apache.org/log4j/2.x/m…
在 pom.xml 文件中添加下面内容
<dependencies>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.23.1</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.23.1</version>
</dependency>
</dependencies>
如果使用1.x版本,如下:
<dependencies>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
</dependencies>
2. 更新项目依赖
右键点击 pom.xml 文件,选择 Maven > Reload project。IDEA会自动下载并添加log4j相关的库到你的项目,如下图:
下载完成后,我们就可以看到项目的External Libraries中新增了pom.xml的两个依赖,如下图:
jar包路径在: ~/.m2/repository/org/apache/logging/log4j/log4j-api/2.23.1/, 默认会在 ~/.m2/repository,如果需要修改, 点击IDEA的 File | Settings | Build, Execution, Deployment | Build Tools | Maven, 如下图:
三、配置log4j
Log4j具有在初始化期间自配置的能力。当Log4j启动时,它将定位所有ConfigurationFactory插件,并按照从从高到低的加权顺序排列它们。交付时,Log4j包含四个ConfigurationFactory实现:一个用于JSON、一个用于YAML、一个用于属性、一个用于XML。
在 src/main/resources 下面创建文件 log4j2.xml,下面配置会输出到控制台
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</Console>
</Appenders>
<Loggers>
<Root level="error">
<AppenderRef ref="Console"/>
</Root>
</Loggers>
</Configuration>
我们还需要写到文件,配置如下:
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</Console>
<File name="LogFile" fileName="logs/app.log">
<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</File>
</Appenders>
<Loggers>
<Root level="info">
<AppenderRef ref="Console"/>
<AppenderRef ref="LogFile"/>
</Root>
</Loggers>
</Configuration>
详细原理请查看官网: logging.apache.org/log4j/2.x/m…
四、java代码编写
package org.example;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
public class Main {
private static final Logger logger = LogManager.getLogger("demo");
public static void main(String[] args) {
logger.info("Hello, World!");
}
}
因为我们使用的是2.x版本,和1.x 导入的包名和代码是不同的,如下图:
具体查看官网: logging.apache.org/log4j/2.x/m…
五、运行并查看日志
1. 运行
选择 Main.java 文件,并点击 Run 按钮