Java多線程調(diào)試中如何完成信息輸出處理

Java多線程調(diào)試中如何完成信息輸出處理,針對(duì)這個(gè)問(wèn)題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問(wèn)題的小伙伴找到更簡(jiǎn)單易行的方法。

站在用戶的角度思考問(wèn)題,與客戶深入溝通,找到北戴河網(wǎng)站設(shè)計(jì)與北戴河網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名注冊(cè)、網(wǎng)頁(yè)空間、企業(yè)郵箱。業(yè)務(wù)覆蓋北戴河地區(qū)。

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

這樣就產(chǎn)生了一個(gè)問(wèn)題:很多個(gè)線程的輸出信息都簡(jiǎn)單的輸出到控制臺(tái)上,當(dāng)我們要查看每個(gè)線程自己處理的中間信息時(shí)很麻煩。最近在一個(gè)實(shí)踐項(xiàng)目中,使用了Log4j讓每個(gè)線程輸出到自己的log文件中,這樣在調(diào)試的時(shí)候很方便。

1. 配置log4j.properties文件

  1. lg4j.rootLogger=DEBUG,stdout  

  2. # stdout is set to be a ConsoleAppender.   

  3. log4j.appender.stdout=org.apache.log4j.ConsoleAppender   

  4. log4j.appender.stdout.layout=org.apache.log4j.
    PatternLayout   

  5. log4j.appender.stdout.layout.ConversionPattern= 
    [%t] (%F,%L) - %m%n   

  6. log4j.additivity.log4j.stdout=false   

  7. # com.se.crawler.Crawler Appender.   

  8. log4j.logger.com.se.Crawler.Crawler=DEBUG,Crawler  

  9. log4j.appender.Crawler=org.apache.log4j.FileAppender  

  10. log4j.appender.Crawler.File=Crawler.log   

  11. log4j.appender.Crawler.Append=false 

  12. log4j.appender.Crawler.layout=org.apache.log4j.PatternLayout  

  13. log4j.appender.Crawler.layout.ConversionPattern=%m%n   

  14. log4j.additivity.com.se.crawler.Crawler=false 

  15. # com.se.crawler.LinkProcessor Appender.   

  16. log4j.logger.com.se.crawler.LinkProcessor=DEBUG,Link
    Processor  

  17. log4j.appender.LinkProcessor=org.apache.log4j.FileAppender  

  18. log4j.appender.LinkProcessor.File=LinkProcessor.log   

  19. log4j.appender.LinkProcessor.Append=false 

  20. log4j.appender.LinkProcessor.layout=org.apache.log4j.
    PatternLayout  

  21. log4j.appender.LinkProcessor.layout.ConversionPattern=%m%n  

  22. log4j.additivity.com.se.crawler.LinkProcessor=false 

說(shuō)明:rootLogger為控制臺(tái),Crawler,LinkProcessor為兩個(gè)線程,分別輸出到Crawler.log和LinkProcessor.log文件中。

2. 在線程中添加日志代碼

  1. ……  

  2. import org.apache.log4j.Logger;  

  3. ……  

  4. public class Crawler extends Thread {  

  5. ……  

  6. protected static Logger logger = Logger.
    getLogger(Crawler.class);  

  7. ……  

  8. logger.debug(msg);  

  9. ……  

這樣,在線程運(yùn)行的時(shí)候會(huì)自動(dòng)產(chǎn)生兩個(gè)日志文件Crawler.log和LinkProcessor.log,并將中間結(jié)果輸出到各自的日志文件中。

關(guān)于Java多線程調(diào)試中如何完成信息輸出處理問(wèn)題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒(méi)有解開(kāi),可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識(shí)。

分享名稱:Java多線程調(diào)試中如何完成信息輸出處理
URL地址:http://www.muchs.cn/article10/gdgcgo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、企業(yè)網(wǎng)站制作、做網(wǎng)站、外貿(mào)建站、全網(wǎng)營(yíng)銷推廣、搜索引擎優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司