天天看點

Mybatis 3 配置 Log4j,列印SQL步驟1:添加Log4J的jar步驟2:配置Log4J

mybatis logging可以對包、類、命名空間做語句記錄。log4j為例。配置日志功能非常簡單:

無論你是web還是企業應用,将jar添加lib下。或者是對日志系統獨立應用,将jar添加到-calsspath下。

配置及其簡單,在log4j.properties檔案下:

<a href="http://www.bysocket.com/?p=367#">?</a>

1

2

3

4

5

6

7

8

<code># global logging configuration</code>

<code>log4j.rootlogger=error, stdout</code>

<code># mybatis logging configuration...</code>

<code>log4j.logger.org.mybatis.example.blogmapper=trace</code>

<code># console output...</code>

<code>log4j.appender.stdout=org.apache.log4j.consoleappender</code>

<code>log4j.appender.stdout.layout=org.apache.log4j.patternlayout</code>

<code>log4j.appender.stdout.layout.conversionpattern=%5p [%t] - %m%n</code>

log4j把日志分為all、trace&amp;(跟蹤)、debug(調試)、info(資訊)、warning(警告)、error(錯誤)、fital(緻命)、off等幾個級别,級别依次升高。級别高的level會屏蔽級别低的資訊。

conversionpattern設定輸出格式的參數說明:

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

<code>%p: 輸出日志資訊優先級,即debug,info,warn,error,fatal,</code>

<code> </code><code>%d: 輸出日志時間點的日期或時間,預設格式為iso8601,也可以在其後指定格式,比如:%d{yyy mmm dd hh:mm:ss,sss},輸出類似:2011年08月30日 15:00:00,921</code>

<code>%r: 輸出自應用啟動到輸出該log資訊耗費的毫秒數</code>

<code>%c: 輸出日志資訊所屬的類目,通常就是所在類的全名</code>

<code>%t: 輸出産生該日志事件的線程名</code>

<code>%l: 輸出日志事件的發生位置,相當于%c.%m(%f:%l)的組合,包括類目名、發生的線程,以及在代碼中的行數。舉例:testlog4.main(testlog4.java:10)</code>

<code>%x: 輸出和目前線程相關聯的ndc(嵌套診斷環境),尤其用到像java servlets這樣的多客戶多線程的應用中。</code>

<code>%%: 輸出一個”%”字元 %f: 輸出日志消息産生時所在的檔案名稱 %l: 輸出代碼中的行号 %m: 輸出代碼中指定的消息,産生的日志具體資訊</code>

<code>%n: 輸出一個回車換行符,windows平台為”\r\n”,unix平台為”\n”輸出日志資訊換行</code>

<code>可以在%與模式字元之間加上修飾符來控制其最小寬度、最大寬度、和文本的對齊方式。如:</code>

<code> </code><code>1)%20c:指定輸出category的名稱,最小的寬度是20,如果category的名稱小于20的話,預設的情況下右對齊。</code>

<code> </code><code>2)%-20c:指定輸出category的名稱,最小的寬度是20,如果category的名稱小于20的話,”-”号指定左對齊。</code>

<code> </code><code>3)%.30c:指定輸出category的名稱,最大的寬度是30,如果category的名稱大于30的話,就會将左邊多出的字元截掉,但小于30的話也不會有空格。</code>

<code> </code><code>4)%20.30c:如果category的名稱小于20就補空格,并且右對齊,如果其名稱長于30字元,就從左邊交遠銷出的字元截掉。</code>