log與eclipse代碼重構(gòu)小技巧_第1頁(yè)
log與eclipse代碼重構(gòu)小技巧_第2頁(yè)
log與eclipse代碼重構(gòu)小技巧_第3頁(yè)
log與eclipse代碼重構(gòu)小技巧_第4頁(yè)
log與eclipse代碼重構(gòu)小技巧_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、1、 通過(guò)配置log配置文件,讓控制臺(tái)輸出更多自己代碼的日志log配置可以為xml、properties。由于在log4j2 中,取消properties配置,這里用xml配置<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"><log4j:configuration xmlns:log4j='/log4j/'>&l

2、t;!- # appender # -><appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender"><layout class="org.apache.log4j.PatternLayout"><!- "%dyyyy-MM-dd HH:mm:ss %-5p (%c:%L)- %m%n" -><param name="ConversionPattern" value="

3、%-5p %dyyyy-MM-dd HH:mm:ss .%M(%F:%L)- %m%n" /></layout><!-限制輸出級(jí)別 -><!- <filter class="org.apache.log4j.varia.LevelRangeFilter"> -><!- <param name="LevelMax" value="ERROR" /> -><!- <param name="LevelMin" value=

4、"debug" /> -><!- </filter> -></appender><!- additivity 是否繼承父logger的appender。這樣會(huì)放在日志重復(fù)輸出-><logger name="com.hiveview.test" additivity="false"><level value="debug" /><appender-ref ref="CONSOLE" /></log

5、ger><root><priority value="error" /><appender-ref ref="CONSOLE" /></root></log4j:configuration>root 級(jí)別設(shè)置成error,第三方的jar只有在error的時(shí)候會(huì)輸出內(nèi)容自己的包設(shè)置為debug級(jí)別,這樣在自己代碼中debug以上級(jí)別的日志都會(huì)輸出,方便調(diào)試。2、 通過(guò)調(diào)整log配置,可以讓在eclipse控制臺(tái)中快速定位代碼<appender name="CONSOLE&qu

6、ot; class="org.apache.log4j.ConsoleAppender"><layout class="org.apache.log4j.PatternLayout"><!- "%dyyyy-MM-dd HH:mm:ss %-5p (%c:%L)- %m%n" -><param name="ConversionPattern" value="%-5p %dyyyy-MM-dd HH:mm:ss .%M(%F:%L)- %m%n" />&l

7、t;/layout><!-限制輸出級(jí)別 -><!- <filter class="org.apache.log4j.varia.LevelRangeFilter"> -><!- <param name="LevelMax" value="ERROR" /> -><!- <param name="LevelMin" value="debug" /> -><!- </filter> ->

8、</appender>調(diào)整日志輸出格式在控制臺(tái)中,鼠標(biāo)點(diǎn)擊括號(hào)中連接內(nèi)容時(shí),會(huì)自動(dòng)定位到代碼中,多個(gè)項(xiàng)目,代碼重復(fù)時(shí)可能會(huì)有問(wèn)題,會(huì)定位到第一次定位的代碼位置上。3、 通過(guò)調(diào)整log配置,可以查看sql執(zhí)行時(shí)長(zhǎng),注入?yún)?shù)替換打印出來(lái)為方便調(diào)試sql與檢測(cè)sql執(zhí)行效率,sql調(diào)優(yōu),使用log4jdbc第三方j(luò)ar。需要依賴slf4j。修改jdbc 配置jdbc.driver=net.sf.log4jdbc.DriverSpyjdbc.url=jdbc:log4jdbc:mysql:/localhost:3306/test?useUnicode=true&characterE

9、ncoding=UTF8&characterSetResults=UTF8修改log配置<logger name="jdbc.sqlonly" additivity="false"><level value="error"/></logger><logger name="jdbc.audit" additivity="false"><level value="error"/></logger>&l

10、t;logger name="jdbc.resultset" additivity="false"><level value="error"/></logger><logger name="jdbc.connection" additivity="false"><level value="error"/></logger><logger name="jdbc.sqltiming" ad

11、ditivity="false"><level value="info" /><appender-ref ref="CONSOLE" /></logger>jdbc 其他的設(shè)置為error級(jí)別,否則會(huì)打印更多信息,除非想看更多的內(nèi)容sqltimeing 設(shè)置為info級(jí)別,sql語(yǔ)句與運(yùn)行時(shí)長(zhǎng),注入的參數(shù)會(huì)轉(zhuǎn)換為真實(shí)內(nèi)容4、 slf4j 與 common logging、logback、log4j、log4j 2 Commons-logging : apache最早提供的日志的門(mén)面接口。避免和

12、具體的日志方案直接耦合。類(lèi)似于JDBC 的api 接口,具體的的JDBC driver 實(shí)現(xiàn)由各數(shù)據(jù)庫(kù)提供商實(shí)現(xiàn)。通過(guò)統(tǒng)一接口解耦,不過(guò)其內(nèi)部也實(shí)現(xiàn)了一些簡(jiǎn)單日志方案。Log4j : 經(jīng)典的一種日志解決方案。內(nèi)部把日志系統(tǒng)抽象封裝成Logger 、appender 、pattern 等實(shí)現(xiàn)。我們可以通過(guò)配置文件輕松的實(shí)現(xiàn)日志系統(tǒng)的管理和多樣化配置。Log4j 2 是Log4j的升級(jí)版,與之前的版本Log4j 1.x相比、有重大的改進(jìn),在修正了Logback固有的架構(gòu)問(wèn)題的同時(shí),改進(jìn)了許多Logback所具有的功能。Logback : LOGBack 作為一個(gè)通用可靠、快速靈活的日志框架,將作為

13、Log4j 的替代和SLF4J 組成新的日志系統(tǒng)的完整實(shí)現(xiàn)。官網(wǎng)上稱(chēng)具有極佳的性能,在關(guān)鍵路徑上執(zhí)行速度是log4j 的10 倍,且內(nèi)存消耗更少。Slf4j : 全稱(chēng)為Simple Logging Facade for JAVA:java簡(jiǎn)單日志門(mén)面。 是對(duì)不同日志框架提供的一個(gè)門(mén)面封裝??梢栽诓渴鸬臅r(shí)候不修改任何配置即可接入一種日志實(shí)現(xiàn)方案。類(lèi)似jdbc,只做統(tǒng)一接口,具體實(shí)現(xiàn)由各日志框架去做配置Log4j(很詳細(xì))log4j2-users-guide.pdf用log4jdbc監(jiān)控SQL的執(zhí)行情況5、 代碼重構(gòu)快捷鍵,方便、節(jié)省調(diào)整代碼時(shí)間a) 抽取屬性變量如代碼,有重復(fù)寫(xiě)了好多aaaaaa. 的字符串,可以想象成同一個(gè)字符串被使用多次,這樣寫(xiě)很明顯有些問(wèn)題,不容易統(tǒng)一修改,如何快速抽取aaaa為一個(gè)變量?選擇aaaa.字符串,注意要有前后引號(hào),alt+shift+L,會(huì)彈出抽取變量框,輸入自己定義的變量即可。b) 抽取方法一個(gè)方法塊很大,需要抽成不同的小方法,如何快速抽取,而且保證代碼的正確性?非copy方式,代碼中有不同的變量交叉,簡(jiǎn)單copy很容易出錯(cuò)誤。如代碼:需要把執(zhí)行查詢這塊單獨(dú)提出到方法中選擇需要提前方法的代碼塊,需要完整,不能少分號(hào)或者括號(hào)。Alt+shift+M,會(huì)彈出方法抽取

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論