最近開發了一個新項目,用的是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三個日誌文件