springboot 项目使用log4j2记录日志
时间: 2023-08-04 14:18:50 浏览: 156
在Spring Boot中如何使用log4j记录日志
使用 Log4j2 记录日志也很简单,步骤如下:
1. 在 pom.xml 文件中添加 log4j2 依赖:
```
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-web</artifactId>
<version>2.13.3</version>
</dependency>
```
2. 在 src/main/resources 目录下创建 log4j2.xml 文件,配置日志输出格式和输出位置等信息。以下是一个简单的示例配置文件:
```
<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" />
</Console>
<RollingFile name="RollingFile" fileName="logs/app.log"
filePattern="logs/app-%d{yyyy-MM-dd}-%i.log.gz">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" />
<Policies>
<TimeBasedTriggeringPolicy />
<SizeBasedTriggeringPolicy size="10MB" />
</Policies>
<DefaultRolloverStrategy max="20" />
</RollingFile>
</Appenders>
<Loggers>
<Root level="INFO">
<AppenderRef ref="Console" />
<AppenderRef ref="RollingFile" />
</Root>
<Logger name="com.example" level="DEBUG" additivity="false">
<AppenderRef ref="RollingFile" />
</Logger>
</Loggers>
</Configuration>
```
这个配置文件中定义了两个 appender,一个是 Console,表示将日志输出到控制台;另一个是 RollingFile,表示将日志输出到文件中。其中,filePattern 配置了日志文件的命名格式,Policies 中配置了两个触发策略,一个基于时间,一个基于文件大小。
3. 在代码中使用 LoggerFactory 获取 Logger 对象,然后即可进行日志记录。例如:
```
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class DemoController {
private static final Logger logger = LoggerFactory.getLogger(DemoController.class);
public void doSomething() {
logger.debug("Debug log message");
logger.info("Info log message");
logger.warn("Warn log message");
logger.error("Error log message");
}
}
```
运行程序后,日志将会输出到控制台和指定的日志文件中。
阅读全文