logback-spring.xml文件不生效問題

最近開發了一個新項目,用的是IDEA新建的springboot項目。

1.給IDEA安裝GREP CONSOLE彩色日誌插件

2.在resources包中加入logback-spring.xml文件

執行啓動類的main方法,發現控制檯的確輸出了彩色日誌,但是在application.properties指定的是開發環境:

spring.profiles.active=dev

並且在logback-spring.xml裏面是這樣設置的:

<!-- name的值是變量的名稱,value的值時變量定義的值。通過定義的值會被插入到logger上下文中。定義變量後,可以使“${}”來使用變量。 -->
<property name="log.path" value="D:/guli_log/edu" />

<!-- 時間滾動輸出 level爲 INFO 日誌 -->
<appender name="INFO_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
     <!-- 正在記錄的日誌文件的路徑及文件名 -->
     <file>${log.path}/log_info.log</file>
     ...
</appender>
<!-- 時間滾動輸出 level爲 WARN日誌 -->
<appender name="WARN_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
     <!-- 正在記錄的日誌文件的路徑及文件名 -->
     <file>${log.path}/log_warn.log</file>
     ...
</appender>
<!-- 時間滾動輸出 level爲 ERROR 日誌 -->
<appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
     <!-- 正在記錄的日誌文件的路徑及文件名 -->
     <file>${log.path}/log_error.log</file>
     ...
</appender>

<!--開發環境:打印控制檯-->
<springProfile name="dev">
    <!--可以輸出項目中的debug日誌,包括mybatis的sql日誌-->
    <logger name="com.guli" level="INFO" />

    <!--
        root節點是必選節點,用來指定最基礎的日誌輸出級別,只有一個level屬性
        level:用來設置打印級別,大小寫無關:TRACE, DEBUG, INFO, WARN, ERROR, ALL 和 OFF,默認是DEBUG
        可以包含零個或多個appender元素。
    -->
    <root level="INFO">
        <appender-ref ref="CONSOLE" />
        <appender-ref ref="INFO_FILE" />
        <appender-ref ref="WARN_FILE" />
        <appender-ref ref="ERROR_FILE" />
    </root>
</springProfile>

在D盤下並沒有發現D:/guli_log/edu這個文件路徑,也沒有發現INFO_FILE,WARN_FILE,ERROR_FILE三個日誌輸出對應的log_info.log,log_warn.log和log_error.log文件日誌文件.

後來經過排查發現是配置文件logback-spring.xml的問題,因爲springboot默認先掃描logback.xml,如果發現沒有再掃描logback-spring.xml,所以可能在某個

引入的包中包含了logback.xml配置文件導致修改配置文件不生效,把logback-spring.xml修改成logback.xml後,日誌成功生效,在D盤下找到了D:/guli_log/edu

的路徑,並且生成了og_info.log,log_warn.log和log_error.log三個日誌文件

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章