SpringBoot 中使用 Log4j

本文介绍如何在SpringBoot项目中排除默认的slf4j依赖,并引入Log4j进行日志管理。通过配置log4j.properties文件实现按日期滚动的日志记录方式。

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

SpringBoot 中使用 Log4j 
1、pom 文件中排除 slf4j 的依赖 
说明:如果你是 spring-boot-starter-web 模块的,同样地,也排除掉 slf4j 的依赖,

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-jersey</artifactId>
    <exclusions>
        <exclusion>
            <artifactId>log4j-over-slf4j</artifactId>
            <groupId>org.slf4j</groupId>
        </exclusion>
    </exclusions>
</dependency>
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

2、引入 log4j 的依赖:

<dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
</dependency>
 
 
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

3、自己测试的时候要看到日志起作用了才算。 
log4j.properties 配置文件:

log4j.rootLogger=DEBUG,ServerDailyRollingFile,stdout

log4j.appender.ServerDailyRollingFile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.ServerDailyRollingFile.DatePattern='.'yyyy-MM-dd_HH
log4j.appender.ServerDailyRollingFile.File=log4j.log
log4j.appender.ServerDailyRollingFile.layout=org.apache.log4j.PatternLayout
log4j.appender.ServerDailyRollingFile.layout.ConversionPattern=%d - %m%n
log4j.appender.ServerDailyRollingFile.Append=true

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 [%c] %m%n
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

今天在项目里面使用 SpringBoot 集成 log4j,具体的操作参考了下面这篇文章。 
这里做一个记录。 
http://www.dutycode.com/spring_boot_log4j_shiyong.html

### 回答1: 在 Spring Boot 中使用 log4j2,需要以下几个步骤: 1. 在项目的 pom.xml 文件中添加 log4j2 的依赖: ``` <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-log4j2</artifactId> </dependency> ``` 2. 在项目的 resources 目录下创建 log4j2.xml 文件,并配置 log4j2 的相关参数,如: ``` <?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] %-5level %logger{36} - %msg%n"/> </Console> </Appenders> <Loggers> <Root level="error"> <AppenderRef ref="Console"/> </Root> <Logger name="org.springframework.boot" level="info"/> </Loggers> </Configuration> ``` 3. 在代码中使用 log4j2 记录日志,例如: ``` private static final Logger logger = LogManager.getLogger(YourClassName.class); logger.info("This is a log4j2 log message."); ``` 在项目启动后,log4j2 就会根据配置文件中的参数,将日志信息记录到控制台或其他地方。 ### 回答2: Spring Boot是一个用于简化Spring应用程序开发的框架,其中也包含了对日志的支持。在Spring Boot应用程序中,可以使用log4j2作为日志框架。 使用log4j2需要进行以下步骤: 1. 添加log4j2的依赖:在`pom.xml`文件中添加log4j2的依赖。例如: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-log4j2</artifactId> </dependency> ``` 2. 配置log4j2:在`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} [%thread] %-5level %logger{36} - %msg%n"/> </Console> </Appenders> <Loggers> <Root level="info"> <AppenderRef ref="Console"/> </Root> </Loggers> </Configuration> ``` 3. 在Java代码中使用log4j2:在需要使用日志的类中导入`org.apache.logging.log4j.LogManager`和`org.apache.logging.log4j.Logger`,然后通过`LogManager.getLogger()`方法获取Logger实例,最后调用Logger的方法记录日志。例如: ```java import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; public class MyService { private static final Logger logger = LogManager.getLogger(MyService.class); public void doSomething() { logger.info("Doing something..."); } } ``` 以上就是在Spring Boot中使用log4j2的基本步骤。通过配置log4j2.xml文件,可以灵活地控制日志的输出格式和目标,并且可以使用Logger记录各种级别的日志。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值