微服务启动时日志冲突解决方案
logback与log4j 日志冲突异常
如上所示。SpringBoot 默认的日志格式是 logback
,但由于项目中使用的是log4j方式的日志格式,所以需要禁用 logback
的日志格式,再配置 log4j
的格式。
项目中,内置了 logback
日志格式的依赖是:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
在依赖中使用如下代码禁用 `logback’ 的日志即可:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
以上是本实例中的做法,一般做法如下:
按住 Ctrl
,鼠标点击 spring-boot-starter-jdbc
进入pom文件,有如下依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
再按住 Ctrl
,鼠标点击 spring-boot-starter
进入pom文件,有如下依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</dependency>
则在微服务中的 spring-boot-starter-jdbc
依赖中添加 spring-boot-starter-logging
的 <exclusion>
即可。
项目启动后没有日志环境异常
当微服务启动后出现如上异常,则需要手动添加 ‘log4j’ 的配置文件
-
添加配置文件
- 在
src/main/resource/
目录下添加log4j.properties
文件
# Configure logging for testing: optionally with log file #log4j.rootLogger=debug,appender log4j.rootLogger=info,appender #log4j.rootLogger=error,appender #\u8F93\u51FA\u5230\u63A7\u5236\u53F0 log4j.appender.appender=org.apache.log4j.ConsoleAppender #\u6837\u5F0F\u4E3ATTCCLayout log4j.appender.appender.layout=org.apache.log4j.TTCCLayout
- 在
-
在启动类中添加自动扫描日志配置文件的方法
@SpringBootApplication
@EnableServiceComb
public class GovbudgetApplication {
public static void main(String[] args) throws Exception {
SpringApplication.run(GovbudgetApplication.class,args);
BasicConfigurator.configure();
}
}
以上。