解决日志输出只到Initializing Spring FrameworkServlet 'dispatcherServlet'的问题
前几天一个springboot突然不打印springFramework的debug日志了
也就是
<logger name="org.springframework.boot" level="debug" additivity="false">
<appender-ref ref="console"/>
<appender-ref ref="logFile"/>
</logger>
失效了
检查和其他几个工程的区别后发现这些失效的工程都引用了
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
</dependency>
引用这个包本身是没问题的(本身不需要在父工程定义版本号,因为是springcloud项目,maven搭建时定义了父工程,直接用spring-boot-dependencies-2.0.5.RELEASE.pom默认的版本) 直到发现父工程里被定义了一个自定的
假如不注释就是没有用spring-boot-dependencies-2.0.5.RELEASE.pom默认提供的 ,直接走maven镜像仓库下载了一个自定义版本的,然后默认用log4j日志框架,然后启动工程时先报一个log4j的红色警告日志,之后logback日志级别配置都失效,日志打印到Initializing Spring FrameworkServlet 'dispatcherServlet’时不再打印(此时项目已经启动成功,并且功能都没有问题,再等也不会打印springFramework的日志)。
总结:
引用httpcomponents时走springboot提供的,不使用自定义的就没问题了,
idea的箭头可以点到当前包的父工程,一看便知