1. 程式人生 > >logback 配置列印 JPA SQL日誌到檔案

logback 配置列印 JPA SQL日誌到檔案

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"?>
<configuration
scan="true" scanPeriod="60 seconds" debug="false">
<!--輸出到控制檯--> <appender name="console" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern> </encoder
>
</appender> <!--輸出到檔案--> <appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender"> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>logback.%d{yyyy-MM-dd}.log</fileNamePattern> </rollingPolicy> <encoder> <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern> </encoder> </appender> <appender name="error" class="ch.qos.logback.core.rolling.RollingFileAppender"> <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> <level>ERROR</level> </filter> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>error.%d{yyyy-MM-dd}.log</fileNamePattern> </rollingPolicy> <encoder> <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern> </encoder> </appender> <!-- 1. 輸出SQL 到控制檯和檔案--> <logger name="org.hibernate.SQL" additivity="false" > <level value="DEBUG" /> <appender-ref ref="file" /> <appender-ref ref="console" /> </logger> <!-- 2. 輸出SQL 的引數到控制檯和檔案--> <logger name="org.hibernate.type.descriptor.sql.BasicBinder" additivity="false" level="TRACE" > <level value="TRACE" /> <appender-ref ref="file" /> <appender-ref ref="console" /> </logger> <!-- 3.--> <!--<logger name="org.hibernate.type" additivity="false" >--> <!--<level value="TRACE" />--> <!--<appender-ref ref="file" />--> <!--<appender-ref ref="console" />--> <!--</logger>--> <root level="info"> <appender-ref ref="console" /> <appender-ref ref="file" /> </root> </configuration>

推薦使用 方案1,2一起列印SQL和引數,相關日誌會少點。

logback 中 logger 標籤引數作用:name:指定列印日誌的包或類,additivity: 是否向上傳遞日誌,level 列印日誌級別,appender-ref :使用哪種列印機制

說明一下 additivity屬性,logback 日誌列印有一個根節點也就是上面的 <root>標籤,一般情況下不指定additivity的情況為true ,也就是向上傳遞日誌

相關推薦

logback 配置列印 JPA SQL日誌檔案

Logback 輸出 JPA SQL日誌 到檔案 使用Spring Boot 配置 JPA 時可以指定如下配置在控制檯檢視執行的SQL語句 spring.jpa.show-sql=true Spring Boot 預設的日誌配置不會輸出到檔案,若要列印日誌

logback框架使用誤區 如何將所有包的ERROR級別日誌集中列印到一個日誌檔案

早就想寫這個事情了,起因是自己想寫一個東西,其中使用logback日誌框架記錄日誌 打算 將所有包的ERROR及以上級別日誌打到一個檔案中,各個包下的日誌打到對應包的檔案中。 起初寫的xml配置類似於這樣: <!-- 其中一個appender,

springboot logback 列印mybatis sql日誌

springboot logback列印日誌,網上有很多,當然不正確的也有好多 網上大部分都是在application.properties中設定如下: logging.level.root=INFO logging.level.org.springframework.we

spring boot 列印mybatis sql日誌資訊

如果使用的是application.properties檔案,加入如下配置: logging.level.com.example.demo.dao=debug logging.level.com,後面的路徑指的是mybatis對應的方法介面所在的包。並不是mapper.xml所在的包。

java最簡單實現Log列印和生成日誌檔案

導包 1.commons-logging.jar包 下載 2.log4j.jar包 下載 配置log4j 1.在src根目錄下建立一個log4j.properties檔案。 檔案全部內容如下:   log4j.rootLogger=CONSOLE,stdout

MongoDB配置按天儲存日誌檔案

mongodb預設不提供直接按天來輸出日誌檔案的配置,但是提供一個日誌清理的命令:logRotate。如果日誌不及時清理會導致mongo訪問越來越慢,甚至卡死。 要使用logRotate命令需要進入到mongo shell,然後執行: use admin #db.

SQL日誌檔案檢視工具(Log Explorer for SQL Server v4.2)

1、Log Explorer for SQL Server v4.2.1   該軟體我比較推薦的   安裝完畢後,註冊該程式(壓縮檔案有註冊機)   開啟log explorer file=>attach logfile->選擇伺服器和登陸方式->con

一個log4j.properties配置(每天一個日誌檔案

log4j.rootCategory=WARN,stdout, hd log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j

log4j配置每天生成一個日誌檔案

本文僅記錄tomcat下配置成功的記錄,不作log4j配置的詳細使用解釋。 該配置在tomcat的logs資料夾下每天產生新的日誌檔案(DEBUG級別:log.log)(ERROR級別:error.log),然後將前一天的日誌檔案log.log和error.log的名稱

logback配置、指定類日誌輸出到指定資料夾

1、controller程式碼demopackage com.duke.api;@Controllerpublic class demo {private static final Logger logger = LoggerFactory.getLogger(demo.cl

tomcat中多個專案(web專案)共用log4j.jar的情況下,如何讓其各自列印各自的日誌檔案。及輸出同級別日誌資訊

問題描述: 1.專案A中有一個log4j.properties(配置為把日誌輸出到以專案名稱命名的資料夾中)  2.為了減輕tomcat負擔,把專案A的WEB-INF/lib下的所有jar檔案拷貝到tomcat下的lib中並修改catalina.properties對其載入

Spring boot配置logback日誌列印到指定路徑檔案

在實際專案開發中,一般都是使用log列印日誌到指定路徑,生成檔案,而平時使用的System.out.pring()只能輸出日誌到控制檯。 當我們把專案打成war包部署到伺服器上,會有不用的使用者使用我們的應用,這個時候如果一個客戶端出現了問題,那我們如果在控制檯去找該使用者

log4j不列印sql,不輸出日誌檔案到指定目錄

#log4j.rootLogger=CONSOLE,info,error,DEBUG log4j.rootLogger=infoA,errorA,CONSOLE,DEBUGA //注意這裡不要用INFO,DEBUG等 改個名字 log4j.appender.CONSOLE=org.apach

Spring boot 使用logback+log4jdbc列印sql日誌

前言 使用Spring Boot進行開發時,我們為了除錯方便,都需要輸出sql語句,簡單的日誌列印方式,只能顯示sql語句,並不能顯示具體的佔位符的內容,這篇文章主要講解如何使用logback+log4jdbc列印sql日誌並顯示佔位符內容 簡單列印日誌 使用簡單的方式列印sql

解決logback列印mybatis的SQL日誌的問題

工作這麼多年,今天還是因為Logback的這個問題稍微卡了一下,慚愧。 問題描述: logback配置瞭如下資訊: <appender name="sql" class="ch.qos.logback.core.rolling.RollingFileAppender"> &l

logback 列印mybatis sql mybatis 日誌列印sql語句和返回結果

logback 列印sql語句: 在logback日誌檔案中開啟debug模式 <logger name="com.ibatis" level="DEBUG" /> <logger name="com.ibatis.common.jdbc.SimpleDataSource"

Spring-boot--列印sql引數 log4jdbc與logback配置(轉)

Spring-boot--列印sql引數 log4jdbc與logback配置   在開發過程中,常常需要驗證sql語句,但是spring-boot-starter-data-jpa只支援輸出sql不會輸出引數,為了方便,整合log4jdbc。 一、引入依賴

springboot logback 配置mybatis列印sql

在<configuration></configuration>中加入下面的內容: <!-- mybatis日誌列印 --> <logger name="com.ibatis" level="DEBUG" /> <lo

logback 配置 不同level日誌輸出到不同檔案 按天 大小拆分

logback.xml <!-- Logback configuration. See http://logback.qos.ch/manual/index.html --> <configuration scan="true" scanPeriod="1

Logback日誌檔案配置模板

<?xml version="1.0" encoding="UTF-8" ?> <configuration debug="true" scan="true" scanPeriod="30 secondes"> <prop