91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

springmvc中怎么利用Mybatis輸出Log4j日志

發布時間:2021-07-14 11:40:51 來源:億速云 閱讀:153 作者:Leah 欄目:開發技術

springmvc中怎么利用Mybatis輸出Log4j日志,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

第一種情況

下面文檔描述的mybatis本身內置很多種日志框架使用,所以如果我們要用具體哪個日志框架,就需要進行相應mybatis配置,或者就是按照mybatis本身規則運行。

問題在這里文檔:http://mybatis.github.io/mybatis-3/zh/logging.html

配置方式:新增文件,有就直接添加mybatis-config.xml

<?xml version="1.0" encoding="UTF-8" ?>  
<!DOCTYPE configuration  
  PUBLIC "-//mybatis.org//DTD Config 3.0//EN"  
  "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<settings>  
        <setting name="logImpl" value="LOG4J"/>  
    </settings>  
</configuration>

再把這個文件添加到:

<!--(主庫)整合相應的MyBatis持久層相應的插件并注冊相應的MyBatis模板 (dataSource1 主庫數據源)-->

    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
      <property name="dataSource" ref="dynamicDataSource" />
      <property name="configLocation" value="classpath:mybatis-config.xml"></property><!-- 配置mybatis的日志記錄 -->  
      <property name="mapperLocations" value="classpath*:com/belle/finance/**/**/daomapper/mapper/*Mapper.xml"/>
    </bean>

這樣就配置好了,使用log4j進行日志記錄不會運行mybatis自身規則。

第二種情況

就是log4j的日志級別使用錯誤,導致mybatis信息打印不出來;

日志級別

每個Logger都被了一個日志級別(log level),用來控制日志信息的輸出。日志級別從高到低分為:

A:off 最高等級,用于關閉所有日志記錄。

B:fatal 指出每個嚴重的錯誤事件將會導致應用程序的退出。

C:error 指出雖然發生錯誤事件,但仍然不影響系統的繼續運行。

D:warm 表明會出現潛在的錯誤情形。

E:info 一般和在粗粒度級別上,強調應用程序的運行全程。

F:debug 一般用于細粒度級別上,對調試應用程序非常有幫助。

G:all 最低等級,用于打開所有日志記錄。

上面這些級別是定義在org.apache.log4j.Level類中。Log4j只建議使用4個級別,優先級從高到低分別是error,warn,info和debug。通過使用日志級別,可以控制應用程序中相應級別日志信息的輸出。例如,如果使用b了info級別,則應用程序中所有低于info級別的日志信息(如debug)將不會被打印出來。

根據上面的log4j的說明,另外根據mybatis的細粒度得出,mybatis要把log4j的日志至少配置到DEBUG級別,才能顯示出sql日志,如下:

log4j.logger.com.demo.user=DEBUG

Mybatis內置的日志工廠提供日志功能,具體的日志實現有以下幾種工具:

  • SLF4J

  • Apache Commons Logging

  • Log4j 2

  • Log4j

  • JDK logging

具體選擇哪個日志實現工具由MyBatis的內置日志工廠確定。它會使用最先找到的(按上文列舉的順序查找)。 如果一個都未找到,日志功能就會被禁用。

不少應用服務器的classpath中已經包含Commons Logging,如Tomcat和WebShpere, 所以MyBatis會把它作為具體的日志實現。記住這點非常重要。

這將意味著,在諸如 WebSphere的環境中——WebSphere提供了Commons Logging的私有實現,你的Log4J配置將被忽略。

這種做法不免讓人悲催,MyBatis怎么能忽略你的配置呢?事實上,因Commons Logging已經存 在了,按照優先級順序,Log4J自然就被忽略了!

不過,如果你的應用部署在一個包含Commons Logging的環境, 而你又想用其他的日志框架,你可以通過在MyBatis的配置文件mybatis-config.xml里面添加一項setting(配置)來選擇一個不同的日志實現。

Log4j實現日志輸出功能

一、為什么要配置mybtis的logger?

mybatis自己設計以及實現了org.apache.ibatis.logging.Log接口。

Mybatis為了避免對第三方的日志包存在強依賴,內部的Log采用了代理模式。通過配置的方式,代理真實的日志對象. 如果沒有配置log,mybatis會按照以下順序嘗試加載日志輸出類:

  1. SLF4J

  2. Apache Commons Logging

  3. Log4j 2

  4. Log4j

  5. JDK logging

  6. no logging(沒有日志)

二、如何開啟日志輸出?

2.1 下載log4j的jar包并導入到build path下

springmvc中怎么利用Mybatis輸出Log4j日志

2.2 開啟日志輸出的配置

在config.xml文件中的settings元素中配置日志實現類。

	<settings>
		<setting name="logImpl" value="LOG4J"/>
	</settings>

2.3 編寫一個文件:log4j.properties放在類路徑下面

第一行表示日志輸出的級別的debug級別,Console表示輸出位置是控制臺(可以輸出到文件或數據庫,可以是發郵件)。

log4j.rootLogger=DEBUG,Console
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n

2.4 log4j的日志輸出的級別:

  1. DEBUG < INFO < WARN < <ERROR < FATAL

  2. DEBUG :流經系統的詳細信息。最低級別的日志輸出,一般用于開發階段的調試。

  3. INFO :一般消息輸出(啟動、關閉)

  4. WARN :警告輸出

  5. ERROR :錯誤輸出

  6. FATAL :導致應用程序提前終止的嚴重錯誤。一般這些信息將立即呈現在狀態控制臺上。

查看日志輸出

debug基本的輸出可以清楚地看到連接數據庫的詳細信息。

springmvc中怎么利用Mybatis輸出Log4j日志

看完上述內容,你們掌握springmvc中怎么利用Mybatis輸出Log4j日志的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

合川市| 格尔木市| 永州市| 垣曲县| 林芝县| 金堂县| 恩平市| 嘉兴市| 德江县| 舒城县| 大邑县| 平泉县| 兴宁市| 固安县| 聊城市| 和政县| 即墨市| 西华县| 同心县| 民乐县| 涿鹿县| 专栏| 晋江市| 建阳市| 辽宁省| 富锦市| 宿松县| 龙海市| 扬州市| 延吉市| 耒阳市| 宜春市| 湘西| 祥云县| 惠州市| 珲春市| 海兴县| 呼图壁县| 马鞍山市| 天津市| 赣州市|