1. 程式人生 > >springboot 切換logback到log4j,踩了scope test 坑

springboot 切換logback到log4j,踩了scope test 坑

從springboot的官方文件中我們瞭解到,springboot預設通過slf4j搭配的是logback日誌框架

問題:我想用log4j怎麼辦?

1、排除logback依賴

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
            <exclusions>
                <!-- 排除自帶的logback依賴 -->
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-logging</artifactId>
                </exclusion>
            </exclusions>


    </dependency>

2、新增log4j配置

<!-- 新增 log4j 依賴 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-log4j</artifactId>
            <version>1.3.8.RELEASE</version>
            <exclusions>
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>slf4j-log4j12</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

        <!--日誌 start -->
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <!-- <scope>test</scope> -->
        </dependency>

3、配置log4j.properties (如何配置,省略)

想說說,配置過程中沒有注意拷貝的slf4j--log4j12依賴包多了<scope>test</scope>,結果導致slf4j的logger打不出日誌,宣告log4j的logger卻能打出日誌,結果發現scope test很奇怪,去掉scope配置 之後,果斷問題修復。具體scope就不說了