logback 輸出 jpa sql日誌 到檔案
使用spring boot 配置 jpa 時可以指定如下配置在控制台檢視執行的sql語句
spring.jpa.show-sql=true
spring boot 預設的日誌配置不會輸出到檔案,若要列印日誌到檔案,可以使用如下配置:
#llogging.level後跟要列印日誌的包名或類的全限定名,設定列印級別
# 日誌級別:trace < debug < info < warn < error < fatal
logging.level.com.example=info
#配置日誌檔案的名稱,可以使用絕對路徑和相對路徑
logging.file=test.log
#設定日誌目錄,預設在目錄下生成 spring.log
#logging.path=
#其他如格式等配置請查官方文件
一般在生產上,需要將專案日誌進行分類,錯誤日誌單獨列印,業務日誌等。
在使用 jpa 的時候,spring.jpa.show-sql=true
可以在控制台看到sql語句,但是無法列印到日誌,試了很多種方法都沒用生效,後來在stackoverflow
發現以下配置可行:
輸出hibernate sql 到日誌
<?xml version="1.0" encoding="utf-8"?>
scan="true"
scanperiod="60 seconds"
debug="false">
name="console"
%d [%thread] %-5level %logger - %msg%npattern>
encoder>
name="file"
class="ch.qos.logback.core.rolling.timebasedrollingpolicy">
logback.%d.logfilenamepattern>
rollingpolicy>
%d [%thread] %-5level %logger - %msg%npattern>
encoder>
name="error"
class="ch.qos.logback.classic.filter.thresholdfilter">
errorlevel>
filter>
class="ch.qos.logback.core.rolling.timebasedrollingpolicy">
error.%d.logfilenamepattern>
rollingpolicy>
%d [%thread] %-5level %logger - %msg%npattern>
encoder>
name="org.hibernate.sql"
additivity="false" >
value="debug" />
ref="file" />
ref="console" />
logger>
name="org.hibernate.type.descriptor.sql.basicbinder"
additivity="false"
level="trace" >
value="trace" />
ref="file" />
ref="console" />
logger>
level="info">
ref="console" />
ref="file" />
root>
configuration>
說明一下 additivity屬性,logback 日誌列印有乙個根節點也就是上面的
標籤,一般情況下不指定additivity的情況為true ,也就是向上傳遞日誌 logback日誌列印原理
logger初始化的時候會根據傳入的名字去例項化。以下為例項化的例子 private static final logger logger logge ctory.getlogger sclass.class 啟動的時候,logge ctory會接收到com.aaa.sclass的完整的類名字,然後...
Logback日誌配置
logback越來越流行,不過使用過程中覺得還不錯,配置簡單明瞭。不過有幾點需要注意的是 spring boot中使用logback不需要再引入logback的三個jar包,因為在spring boot starter logging已經整合了它。幾種日誌過濾器,需要了解明白,不然不能配置到自己想要...
配置logback日誌
引入依賴 spring boot starter 中引入了 spring boot starter logging 日誌啟動器 org.springframework.boot spring boot starter logging 2.2.5.release compile spring boot...