我的项目使用的是springboot的1.4.1的版本,在1.4以上的版本中,需要集成log4j2,用log4j的话会报错
过程如下:
1、 由于springboot本身已经集成了日志相关的log4j或slf4j依赖,我们需要在pom.xml中先去掉这些依赖,再添加log4j2的依赖:
|
<!--去掉springboot本身日志依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> <exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-logging</artifactId> </exclusion> </exclusions> </dependency>
<!--log4j2--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-log4j2</artifactId> </dependency> |
2、 添加 log4j2.xml文件(与 application.properties 同一个包下),内容如下:
|
<?xml version="1.0" encoding="UTF-8"?> <!--启动项设置为 trace,加载 springboot 启动内部各种详细输出--> <Configuration status="trace"> <Appenders> <!--添加一个控制台追加器--> <Console name="Console" target="SYSTEM_OUT" follow="true"> <PatternLayout> <pattern>[%-5p] %d %c - %m%n</pattern> </PatternLayout> </Console> <!--添加一个文本追加器,文件位于根目录下,名为log.log--> <File name="File" fileName="log.log"> <PatternLayout> <pattern>[%-5p] %d %c - %m%n</pattern> </PatternLayout> </File> </Appenders> <Loggers> <Logger name="com.github" level="debug" /> <!--记录 qg.fangrui.boot 包及其子包 debug 及其以上的记录,并输出到文件中--> <Logger name="qg.fangrui.boot" level="debug"> <!-- AppenderRef 可以控制文件输出对象--> <AppenderRef ref="File" /> </Logger> <!--根记录全部输出到控制台上--> <Root level="debug"> <AppenderRef ref="Console" /> </Root> </Loggers> </Configuration> |
3、 在application.properties 中加入配置文件的扫描位置
logging.config=classpath:log4j2.xml。。
至此,添加log4j2完成,启动项目和请求路径都会看到控制台打印的日志文件
本文介绍如何在SpringBoot项目中集成Log4j2,包括移除默认日志依赖、添加Log4j2依赖及配置文件,实现控制台与文件日志输出。

1743

被折叠的 条评论
为什么被折叠?



