springboot 配合log4j分包输入日志文件

本文介绍如何在SpringBoot项目中使用Log4j进行分包日志记录,包括配置pom.xml文件引入相关依赖,以及log4j.properties配置文件的详细设置,实现不同包下的日志按需输出。

springboot 配合log4j分包输入日志文件



1、pom.xml文件

<dependencies>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>


<!--添加MySql依赖 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>


<!--添加JDBC依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>


<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-log4j -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j</artifactId>
<version>1.3.8.RELEASE</version>

</dependency>


2、log4j.properties配置文件

log4j.rootLogger =info,debug,stdout,File 


#输出到控制台
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  - [ %p ]  %m%n
log4j.appender.stdout.Threshold = DEBUG
log4j.appender.stdout.ImmediateFlush = TRUE
log4j.appender.stdout.Target = System.out


#输出demo.controller包下类的日志
log4j.logger.demo.controller=info,controller
#每日生成新的文件
log4j.appender.controller = org.apache.log4j.FileAppender
log4j.appender.controller.layout = org.apache.log4j.PatternLayout
log4j.appender.controller.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  - [ %p ]  %m%n
log4j.appender.controller.Threshold = DEBUG
log4j.appender.controller.ImmediateFlush = TRUE
log4j.appender.controller.Append = TRUE
#日志路径
log4j.appender.controller.File = D:/logs/demo/controller/log.log
log4j.appender.controller.Encoding = UTF-8


#输出test.threed包下类的日志
log4j.logger.demo.service=info,service
#每日生成新的文件
log4j.appender.service = org.apache.log4j.FileAppender
log4j.appender.service.layout = org.apache.log4j.PatternLayout
log4j.appender.service.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  - [ %p ]  %m%n
log4j.appender.service.Threshold = DEBUG
log4j.appender.service.ImmediateFlush = TRUE
log4j.appender.service.Append = TRUE
#日志路径
log4j.appender.service.File = D:/logs/demo/service/log.log
log4j.appender.service.Encoding = UTF-8




#输出test.threed包下类的日志
log4j.logger.demo.dao=info,dao
#每日生成新的文件
log4j.appender.dao = org.apache.log4j.FileAppender
log4j.appender.dao.layout = org.apache.log4j.PatternLayout
log4j.appender.dao.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  - [ %p ]  %m%n
log4j.appender.dao.Threshold = DEBUG
log4j.appender.dao.ImmediateFlush = TRUE
log4j.appender.dao.Append = TRUE
#日志路径
log4j.appender.dao.File = D:/logs/demo/dao/log.log
log4j.appender.dao.Encoding = UTF-8

好的,下面是Spring Boot集成log4j2输出日志文件的步骤: 1. 在pom.xml文件中添加log4j2的依赖 ``` <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-log4j2</artifactId> </dependency> ``` 2. 在src/main/resources目录下创建log4j2.xml文件,并配置输出文件的路径、格式等信息。以下是一个示例配置文件: ``` <?xml version="1.0" encoding="UTF-8"?> <Configuration status="WARN"> <Appenders> <Console name="Console" target="SYSTEM_OUT"> <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/> </Console> <RollingFile name="RollingFile" fileName="logs/log4j2.log" filePattern="logs/log4j2-%d{yyyy-MM-dd}-%i.log"> <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/> <Policies> <TimeBasedTriggeringPolicy /> <SizeBasedTriggeringPolicy size="10MB"/> </Policies> <DefaultRolloverStrategy max="10"/> </RollingFile> </Appenders> <Loggers> <Root level="info"> <AppenderRef ref="Console"/> <AppenderRef ref="RollingFile"/> </Root> </Loggers> </Configuration> ``` 3. 在Spring Boot的启动类中添加注解@EnableAsync和@ImportResource,开启异步调用和导入log4j2.xml配置文件。 ``` @SpringBootApplication @EnableAsync @ImportResource(locations = {"classpath:log4j2.xml"}) public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } } ``` 4. 在需要输出日志的类中,使用log4j2的日志记录器进行日志输出。以下是一个示例: ``` import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; public class SampleClass { private static final Logger logger = LogManager.getLogger(SampleClass.class); public void doSomething() { logger.info("This is a sample log message."); } } ``` 这样就完成了Spring Boot集成log4j2输出日志文件的配置。希望对你有帮助!
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值