spring boot项目从零开始-(1)集成log4j2

落日映苍穹つ 2023-06-30 06:53 61阅读 0赞

spring boot项目从零开始-集成log4j2

  • 简述
      • 环境
      • 最终工程目录
  • 步骤
      • pom.xml修改后刷新
      • application.yml修改
      • 新文件log4j2.xml
  • 测试

简述

环境

Idea
log4j2

最终工程目录

在这里插入图片描述

步骤

pom.xml修改后刷新

  1. <!-- log -->
  2. <dependency>
  3. <groupId>org.springframework.boot</groupId>
  4. <artifactId>spring-boot-starter</artifactId>
  5. <exclusions>
  6. <exclusion>
  7. <groupId>org.springframework.boot</groupId>
  8. <artifactId>spring-boot-starter-logging</artifactId>
  9. </exclusion>
  10. </exclusions>
  11. </dependency>
  12. <dependency>
  13. <groupId>org.springframework.boot</groupId>
  14. <artifactId>spring-boot-starter-log4j2</artifactId>
  15. </dependency>
  16. <dependency>
  17. <groupId>org.projectlombok</groupId>
  18. <artifactId>lombok</artifactId>
  19. </dependency>

application.yml修改

  1. logging:
  2. config: classpath:log4j2.xml

新文件log4j2.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- status指定log4j本身的日志打印级别 -->
  3. <!-- 配置文件发生修改,在monitorInterval时间即5s内,重新加载,无需重启 -->
  4. <Configuration status="WARN" monitorInterval="5">
  5. <Appenders>
  6. <Console name="Console" target="SYSTEM_OUT">
  7. <PatternLayout charset="UTF-8" pattern="[%d] [%t] [%-5level] %logger{36} - %msg%n" />
  8. </Console>
  9. <RollingFile name="RollingFileInfo" filePermissions="rw-r--r--"
  10. fileName="/var/log/springboot/spring-boot-start0.log"
  11. filePattern="/var/log/springboot/spring-boot-start0-%d{yyyy-MM-dd}-%i.log">
  12. <Filters>
  13. <ThresholdFilter level="INFO" />
  14. </Filters>
  15. <PatternLayout charset="UTF-8" pattern="[%d{HH:mm:ss:SSS}] [%p] - %l - %m%n" />
  16. <Policies>
  17. <TimeBasedTriggeringPolicy/>
  18. <SizeBasedTriggeringPolicy size="100M"/>
  19. </Policies>
  20. </RollingFile>
  21. <!-- <CatLog4j2Appender name="Cat" />-->
  22. </Appenders>
  23. <Loggers>
  24. <Root level="INFO">
  25. <AppenderRef ref="Console" />
  26. <AppenderRef ref="RollingFileInfo" />
  27. <!-- <AppenderRef ref="Cat" />-->
  28. </Root>
  29. <Logger name="org.mybatis" level="INFO" />
  30. <Logger name="org.springframework" level="INFO" />
  31. <Logger name="com.ydfind.start" level="INFO" />
  32. </Loggers>
  33. </Configuration>

测试

  1. package com.ydfind.start.controller;
  2. import lombok.extern.slf4j.Slf4j;
  3. import org.springframework.web.bind.annotation.GetMapping;
  4. import org.springframework.web.bind.annotation.RestController;
  5. /**
  6. * log4j2的试验controller
  7. * @author ydfind
  8. * @date 2020.1.5
  9. */
  10. @RestController
  11. @Slf4j
  12. public class Log4jController {
  13. @GetMapping("/log")
  14. public String log() {
  15. log.trace("log name = " + log.getName());
  16. log.debug("log name = " + log.getName());
  17. log.info("log name = " + log.getName());
  18. log.warn("log name = " + log.getName());
  19. log.error("log name = " + log.getName());
  20. log.info("log name = " + log.getName());
  21. return "success";
  22. }
  23. }

访问http://localhost:8182/log
结果如下
在这里插入图片描述
在这里插入图片描述

发表评论

表情:
评论列表 (有 0 条评论,61人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Spring Boot 整合Log4j2

    写在前面 学习Log4j2与Spring Boot的整合是为了完成我的ELK体系中的日志生产这一部分,通过学习Log4j2中的语法以及定义规范来生产日志. 自定义日志