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&(跟蹤)、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>