springboot + log4j2使用,并给出详细的配置文件
时间: 2024-05-10 13:21:23 浏览: 10
Spring Boot是一款非常优秀的Java web开发框架,其内置了很多强大的特性,比如自动配置、快速开发等。在开发过程中,我们经常需要使用日志框架来记录系统运行过程中的信息、警告和错误等。而Log4j2是Apache的一个开源项目,是Log4j的升级版,具有更好的性能和更丰富的功能。
下面是使用Log4j2作为Spring Boot项目的日志框架的详细配置文件:
1. 首先,需要在pom.xml文件中添加以下依赖:
```xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>
```
2. 在src/main/resources目录下新建log4j2.xml文件,内容如下:
```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] %highlight{%-5level} %logger{36} - %msg%n"/>
</Console>
<RollingFile name="file" fileName="logs/myapp.log"
filePattern="logs/myapp-%d{yyyy-MM-dd}-%i.log.gz">
<PatternLayout>
<Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n</Pattern>
</PatternLayout>
<Policies>
<SizeBasedTriggeringPolicy size="100 MB"/>
</Policies>
<DefaultRolloverStrategy max="20"/>
</RollingFile>
</Appenders>
<Loggers>
<Root level="info">
<AppenderRef ref="console"/>
<AppenderRef ref="file"/>
</Root>
</Loggers>
</Configuration>
```
以上配置文件中,定义了两个Appender,一个是Console Appender,用于将日志输出到控制台;另一个是RollingFile Appender,用于将日志输出到文件中,并支持文件滚动。其中,RollingFile Appender使用了SizeBasedTriggeringPolicy来控制文件大小,以及DefaultRolloverStrategy来控制文件滚动。最后,在Loggers中配置了Root Logger,将日志输出到Console和RollingFile Appender中。
3. 在Spring Boot的application.properties文件中,配置日志级别:
```properties
logging.level.root=info
```
以上配置将Root Logger的日志级别设置为info,也可以根据需要设置其他Logger的日志级别。
4. 在代码中使用Log4j2输出日志:
```java
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class MyApp {
private static final Logger logger = LoggerFactory.getLogger(MyApp.class);
public static void main(String[] args) {
logger.debug("Debug message");
logger.info("Info message");
logger.warn("Warn message");
logger.error("Error message");
}
}
```
使用上述配置后,日志将会按照配置输出到控制台和文件中。如果需要更改日志输出的路径,可以在log4j2.xml文件中修改RollingFile Appender中的fileName属性。如果需要更改日志文件的格式,可以修改PatternLayout中的pattern属性。如果需要设置其他的Appender和Logger,可以在log4j2.xml文件中进行配置。