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