问题现象
程序输出多个日志文件夹目录 logs log
问题原因
应用程序A使用slf4j进行日志输出,日志输出文件夹为logs。公共组件B使用log4j2进行日志输出,组件B读取了jar中默认的log4j配置文件,创建了log目录。
问题分析
由于使用了不同的日志输出框架,但是 A B程序分别使用了不同的日志输出,需要统一日志输出框架。
问题解决
- 指定log4j配置文件。
-Dlog4j.configurationFile=./config/log4j2.xml - 将slf4j日志输出到log4j2。
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>2.9.1</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.25</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.9.1</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-ext</artifactId>
<version>1.7.25</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.9.1</version>
</dependency>
参考
http://tidus.site/2017/11/13/2017-11-13- 关于slf4j log4j log4j2的jar包配合使用的那些事/