Log4j2 结合 SLF4J 使用
Log4j2 结合 SLF4J 使用
了解使用 SLF4J API 配置 Log4j2 日志记录。
我们将查看所需的依赖项、示例配置和使用日志语句的演示。
一、Log4j2 和 SLF4j 绑定依赖
为了使 Log4j2 与 SLF4J 一起工作,我们需要包含以下 3 个依赖项。
- log4j-slf4j-impl.jar – Log4j 2 SLF4J 绑定。 它允许编码为 SLF4J API 的应用程序使用 Log4j2 作为实现。
- log4j-api.jar – 为实现类提供创建日志记录实现所需的适配器组件接口。
- log4j-core.jar – 核心 Log4j 实现类。
1. Maven 依赖
pom.xml
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.22.0</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.22.0</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>2.22.0</version>
</dependency>
2. gradle 依赖
build.gradle
dependencies {
compile group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.20.0'
compile group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.20.0'
compile group: 'org.apache.logging.log4j', name: 'log4j-slf4j-impl', version: '2.20.0'
}
二、日志文件配置
可以使用文件类型为: log4j2.properties、log4j2.xml 或 log4j2.json 文件,用于配置所需的记录器和附加程序。
将配置文件放置在资源文件夹或应用程序类路径中。 所有日志语句都将使用这些记录器进行记录。
我们以 XML 配置为例,并使用控制台日志记录进行演示。 您也可以使用其他有用的日志记录模式之一。
log4j2.xml
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN" monitorInterval="30">
<Properties>
<Property name="LOG_PATTERN">%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1} - %m%n</Property>
</Properties>
<Appenders>
<Console name="console" target="SYSTEM_OUT" follow="true">
<PatternLayout pattern="${LOG_PATTERN}"/>
</Console>
</Appenders>
<Loggers>
<Root level="info">
<AppenderRef ref="console"/>
</Root>
</Loggers>
</Configuration>
三、例子
使用类 Logger 和 LoggerFactory 在应用程序代码中编写日志语句。 这两个类都来自包 org.slf4j。
// Main.java
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class Main {
public static void main(final String[] args)
{
Logger logger = LoggerFactory.getLogger(Main.class);
logger.info("Hello World !!");
}
}
运行 main() 方法并观察控制台中的输出:
2021-12-13 22:08:14 INFO Main - Hello World !!
以上就是 log4j2 和 slf4j 配置示例的全部内容。
Ref