Spring Cloud 项目整合Log4j2

Dear 丶 2022-05-18 09:13 915阅读 0赞

Spring Cloud 项目整合Log4j2的步骤。
1、排除logback的默认集成。
因为Spring Cloud 默认集成了logback, 所以首先要排除logback的集成,在pom.xml文件:

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

2、log4j2-test.xml配置文件,在这里不做赘述,需要注意的地方是,如果想把日志打印项目名称的目录下面,需要首先在你的git上configuration的properties文件中设置,日志输出的path:

  1. logging.path=/opt/application-log/${spring.application.name}

${spring.application.name}这个可以读取到所在项目的工程名,在项目中bootstrap.properties中有定义,这样就可以适应任何工程

设置完这个path之后,需要在你的log4j2-test.xml中读取到这个path, 读取的方法是:${sys:LOG_PATH},在文件中可以这样设置:

  1. <Property name="log_path">${sys:LOG_PATH}/${
  2. date:yyyy-MM-dd}</Property>

而对应的如果想把info.log,warn.log等文件放到日志文件夹中,可以结合上面的设置,再做改进:

  1. <RollingFile name="RollingFileInfo" fileName="${log_path}/info-${date:yyyy-MM-dd}.log" filePattern="${log_path}/$${date:yyyy-MM-dd}/info-%d{yyyy-MM-dd}-%i.log">

发表评论

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

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

相关阅读

    相关 springboot整合log4j2

    相比与其他的日志系统,log4j2丢数据这种情况少;disruptor技术,在多线程环境下,性能高于logback等10倍以上;利用jdk1.5并发的特性,减少了死锁的发生;

    相关 Spring Boot 整合Log4j2

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