Spring boot 使用log4j2,记录坑

2,427 阅读1分钟

网站要上线,需要添加log4j2,开始一直不生效,最后解决,过程如下

  1. log4j2.xml 放在src/main/resources下面,启动程序,不生效。
  2. 影响是spring boot starter 默认使用 logback, 于是exclude之,还是不生效
  		<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>
  1. 难道是exclude没有成功?跑了下mvn dependency:tree,结果发现没有logback的任何依赖,懵逼中
  2. 难道是log4j2.xml没有生效?检查 java build path -> source -> exclude 和include,没有问题,继续懵逼。
  3. 显示的在application.properties 中加入log4j2的路径:logging.config=classpath:log4j2.xml启动报错: Logback configuration error detected证明仍然在使用logback
  4. 没有任何头绪,全文搜索logback字样,发现classpath里面竟然还有,classpath最后更新时间竟然是n天之前,终于找到原因,因为外层pom文件被手误改坏了,删掉了当前project的moudle,跑maven的时候不会跑当前的project,加上就好了