Spring Boot项目中使用log4j

本文介绍如何在Spring Boot项目中将默认的日志框架logback替换为log4j,并提供了详细的步骤说明及log4j配置文件示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  参看:http://blog.youkuaiyun.com/cb2474600377/article/details/53739950

  参看:http://blog.youkuaiyun.com/loongshawn/article/details/50951329

 

      Spring boot默认是使用logback来进行日志记录的,由于对logback不熟悉,选择使用log4j。通过以下步骤来将logback替换为log4j:

由于Spring boot的Starter POMS提供的大量的应用功能模块,因此我们构建项目不需要花费大量精力,这里以spring-boot-starter-web为模块构建的项目讲解。

1、修改pom.xml,移除Spring Boot中默认的logback依赖,添加log4j依赖

      如下图所示,红框中的部分是新增的,第一个红框的作用是去除Spring Boot中对logback的依赖,第二个红框作用是添加对log4j的依赖,注意添加log4j依赖时,version必须要有的。

2、添加log4j配置文件

     如下图所示,在src/main/resources下添加log4j.properties文件,在application.properties文件中增加“src/main/resources/log4j.properties”配置。log4j.properties的内容一般与其他类型项目相同,文章最后会附上一份。

      

3、代码中AOP方式嵌入就可以使用了

 

private static Logger logger = Logger.getLogger(SpringBootDemoApplication.class);
logger.info("Start...");


附录:log4j.properties的内容

 

 

log4j.rootLogger=INFO, CONSOLE, ROLLING_FILE, DAILY_ROLLING_FILE

log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=<%d>[%5p] %m - %c%n


log4j.appender.ROLLING_FILE=org.apache.log4j.RollingFileAppender
log4j.appender.ROLLING_FILE.File=./logs/client.log
log4j.appender.ROLLING_FILE.Append=true
log4j.appender.ROLLING_FILE.MaxFileSize=20000KB
log4j.appender.ROLLING_FILE.MaxBackupIndex=100
log4j.appender.ROLLING_FILE.layout=org.apache.log4j.PatternLayout

#log4j.appender.ROLLING_FILE.layout.ConversionPattern=<%d>[%5p] %c - %m%n
log4j.appender.ROLLING_FILE.layout.ConversionPattern=%d %c [%t] (%F:%L) %-5p --> %m%n

log4j.appender.DAILY_ROLLING_FILE=org.apache.log4j.DailyRollingFileAppender
log4j.appender.DAILY_ROLLING_FILE.File=./logs/client
log4j.appender.DAILY_ROLLING_FILE.DatePattern='.'yyyy-MM-dd'.log'
log4j.appender.DAILY_ROLLING_FILE.Append=true
log4j.appender.DAILY_ROLLING_FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.DAILY_ROLLING_FILE.layout.ConversionPattern=%d %c [%t] (%F:%L) %-5p --> %m%n

 

 

 

 

 


 

 

 

 

 

Spring Boot项目中配置Log4j2日志管理通常涉及以下几个步骤: 1. 添加依赖:首先,在你的`pom.xml`或`build.gradle`文件中添加Log4j2的相关依赖。例如,对于Maven项目,可以添加: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-log4j2</artifactId> </dependency> ``` 2. 配置文件:Spring Boot默认查找名为`application.log4j2.properties`或`application.yml`(如果启用了YAML支持)的配置文件。在这个文件中,你可以定义详细的日志规则。 ```properties log4j2 { configLocation = classpath:log4j2-config.xml } # 或者直接在yml中配置: logging: config: file:classpath:log4j2.xml ``` 这里我们指定了一个XML配置文件`log4j2-config.xml`,它通常放在`src/main/resources`目录下。 3. XML配置:创建一个`log4j2.xml`或`log4j2.yaml`文件,并在那里定义各种日志输出、级别、过滤器等。例如: ```xml <?xml version="1.0" encoding="UTF-8"?> <Configuration status="WARN"> <Appenders> <Console name="STDOUT" target="SYSTEM_OUT"> <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/> </Console> <RollingFile name="FILE" fileName="logs/app.log" filePattern="logs/app-%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> <TimeBasedTriggeringPolicy interval="1" modulate="true"/> <SizeBasedTriggeringPolicy size="10 MB"/> </Policies> <DefaultRolloverStrategy max="10"/> </RollingFile> </Appenders> <Loggers> <Root level="${logging.level:info}"> <AppenderRef ref="STDOUT"/> <AppenderRef ref="FILE"/> </Root> </Loggers> </Configuration> ``` 这里定义了控制台输出和滚动日志文件,可以根据需要调整日志级别和输出格式。 4. 环境变量:你可以通过系统属性或者`spring.profiles.active`环境变量来动态切换不同的日志配置,比如在生产环境中可能会有更严格的日志记录策略。 完成以上配置后,重启应用,Log4j2的日志管理就生效了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值