学习用SLF4JAPIs配置Log4j2日志。我们将了解所需的依赖性、样本配置和使用日志语句的演示。
1.Log4j2和SLF4j的绑定依赖关系
为了使Log4j2与SLF4J一起工作,我们需要包括以下3个依赖项。点击各自的链接来获取每个人的最新版本。
- log4j-slf4j-impl.jar- Log4j 2 SLF4J绑定。它允许根据SLF4J API编码的应用程序使用Log4j2作为实现。
- log4j-api.jar- 为实现者提供创建日志实现所需的适配器组件。
- log4j-core.jar- 核心Log4j实现类。
Maven和Gradle的依赖关系可以复制如下。
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.15.0</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.15.0</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>2.15.0</version>
</dependency>
dependencies {
compile group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.15.0'
compile group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.15.0'
compile group: 'org.apache.logging.log4j', name: 'log4j-slf4j-impl', version: '2.15.0'
}
2.日志配置
接下来是提供*log4j2.properties、log4j2.xml*或log4j2.json文件,这些文件将配置所需的日志器和应用者。把配置文件放在resources 文件夹或应用程序classpath中。所有的日志语句将使用这些日志记录器。
我们以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>
3.演示
在应用程序代码中用Logger和LoggerFactory类编写日志语句。这两个类都来自包org.slf4j 。
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配置例子的全部内容。
祝你学习愉快!!