【亲测有用】springboot + log4j2 日志按天并且按大小切割

别扯没用的,先看结果:

预期:每个月一个文件夹,每天刚开始一个log文件,按照日期命名,

但当当天日志文件超过8KB(可调整)就新增一个,没用超过这天就只要一个日志文件

日志文件夹:

 

下面是实现方式:

只能用一个字来形容:简单

一共两步:

step1:

pom.xml增加以下依赖:

        <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>
        <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-log4j2</artifactId>
          <version>1.5.6.RELEASE</version>
        </dependency>
        <dependency>  <!-- 支持识别yml配置 -->
          <groupId>com.fasterxml.jackson.dataformat</groupId>
          <artifactId>jackson-dataformat-yaml</artifactId>
        </dependency>

 

step2:

resources下面增加一个文件:log4j2.yml

文件内容如下:

Appenders:
    Console:  #输出到控制台
      name: CONSOLE #Appender命名
      target: SYSTEM_OUT
      PatternLayout:
        pattern: "%d{yyyy-MM-dd HH:mm:ss,SSS}:%4p %t (%F:%L) - %m%n"
    RollingFile: # 输出到文件,超过256MB归档
      - name: ROLLING_FILE
        ignoreExceptions: false
        fileName: D://logs/riskmanagementFrontend_9090.log
        filePattern: "D://logs/$${date:yyyy-MM}/riskmanagementFrontend_9090-%d{yyyy-MM-dd}-%i.log"
        PatternLayout:
          pattern: "%d{yyyy-MM-dd HH:mm:ss,SSS}:%4p %t (%F:%L) - %m%n"
        Policies:
          SizeBasedTriggeringPolicy:
            size: "8 KB"
        DefaultRolloverStrategy:
          max: 1000
Loggers:
    Root:
      level: info
      AppenderRef:
        - ref: CONSOLE
    Logger: #单独设置某些包的输出级别
      - name: com.example.demo #复数加上-(这里我设置的是包的根路径的包名)
        additivity: false #去除重复的log
        level: info
        AppenderRef:
          - ref: CONSOLE #复数加上-
          - ref: ROLLING_FILE #复数加上-

 

收工!

  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 13
    评论
1. 添加依赖 在 pom.xml 文件中添加 log4j2 的依赖: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-log4j2</artifactId> </dependency> ``` 2. 配置 log4j2.xml 文件 在 src/main/resources 目录下创建 log4j2.xml 文件,配置 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> </Appenders> <Loggers> <Root level="info"> <AppenderRef ref="Console"/> </Root> </Loggers> </Configuration> ``` 上述配置中,我们定义了一个名为 Console 的 Appender,将日志输出到控制台,同时使用了 PatternLayout 来定义日志输出的格式,最后将 Console Appender 添加到了 Root Logger 中。 3. 测试日志输出 在代码中使用 log4j2 输出日志: ```java import org.slf4j.Logger; import org.slf4j.LoggerFactory; @RestController public class HelloController { private static final Logger LOGGER = LoggerFactory.getLogger(HelloController.class); @GetMapping("/hello") public String hello() { LOGGER.info("Hello World!"); return "Hello World!"; } } ``` 4. 运行程序 运行程序,访问 /hello 接口,可以在控制台中看到类似以下的日志输出: ``` 2021-12-14 14:20:29.251 [http-nio-8080-exec-1] INFO com.example.demo.controller.HelloController - Hello World! ``` 至此,log4j2 的使用就完成了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学编程的司马光

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值