新聞中心
Java多線程調(diào)試是很繁瑣的,但是還是需要我們不斷進(jìn)行相關(guān)的學(xué)習(xí)。下面我們就來看看在Java多線程調(diào)試中需要我們注意的相關(guān)關(guān)鍵點(diǎn)。為了查看中間結(jié)果一般采用將信息輸出到System.out中。

創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),霍城企業(yè)網(wǎng)站建設(shè),霍城品牌網(wǎng)站建設(shè),網(wǎng)站定制,霍城網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,霍城網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
這樣就產(chǎn)生了一個問題:很多個線程的輸出信息都簡單的輸出到控制臺上,當(dāng)我們要查看每個線程自己處理的中間信息時很麻煩。最近在一個實(shí)踐項(xiàng)目中,使用了Log4j讓每個線程輸出到自己的log文件中,這樣在調(diào)試的時候很方便。
1. 配置log4j.properties文件
- lg4j.rootLogger=DEBUG,stdout
- # stdout is set to be a ConsoleAppender.
- log4j.appender.stdout=org.apache.log4j.ConsoleAppender
- log4j.appender.stdout.layout=org.apache.log4j.
PatternLayout- log4j.appender.stdout.layout.ConversionPattern=
[%t] (%F,%L) - %m%n- log4j.additivity.log4j.stdout=false
- # com.se.crawler.Crawler Appender.
- log4j.logger.com.se.Crawler.Crawler=DEBUG,Crawler
- log4j.appender.Crawler=org.apache.log4j.FileAppender
- log4j.appender.Crawler.File=Crawler.log
- log4j.appender.Crawler.Append=false
- log4j.appender.Crawler.layout=org.apache.log4j.PatternLayout
- log4j.appender.Crawler.layout.ConversionPattern=%m%n
- log4j.additivity.com.se.crawler.Crawler=false
- # com.se.crawler.LinkProcessor Appender.
- log4j.logger.com.se.crawler.LinkProcessor=DEBUG,Link
Processor- log4j.appender.LinkProcessor=org.apache.log4j.FileAppender
- log4j.appender.LinkProcessor.File=LinkProcessor.log
- log4j.appender.LinkProcessor.Append=false
- log4j.appender.LinkProcessor.layout=org.apache.log4j.
PatternLayout- log4j.appender.LinkProcessor.layout.ConversionPattern=%m%n
- log4j.additivity.com.se.crawler.LinkProcessor=false
說明:rootLogger為控制臺,Crawler,LinkProcessor為兩個線程,分別輸出到Crawler.log和LinkProcessor.log文件中。
2. 在線程中添加日志代碼
- ……
- import org.apache.log4j.Logger;
- ……
- public class Crawler extends Thread {
- ……
- protected static Logger logger = Logger.
getLogger(Crawler.class);- ……
- logger.debug(msg);
- ……
- }
這樣,在線程運(yùn)行的時候會自動產(chǎn)生兩個日志文件Crawler.log和LinkProcessor.log,并將中間結(jié)果輸出到各自的日志文件中。以上就是對Java多線程調(diào)試的相關(guān)代碼介紹。
標(biāo)題名稱:Java多線程調(diào)試如何完成信息輸出處理
URL鏈接:http://m.5511xx.com/article/cdeicij.html


咨詢
建站咨詢
