bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

Java多線程調試中如何完成信息輸出處理

Java多線程調試中如何完成信息輸出處理,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

站在用戶的角度思考問題,與客戶深入溝通,找到北戴河網站設計與北戴河網站推廣的解決方案,憑借多年的經驗,讓設計與互聯網技術結合,創造個性化、用戶體驗好的作品,建站類型包括:成都網站設計、網站建設、企業官網、英文網站、手機端網站、網站推廣、域名注冊、網頁空間、企業郵箱。業務覆蓋北戴河地區。

Java多線程調試是很繁瑣的,但是還是需要我們不斷進行相關的學習。下面我們就來看看在Java多線程調試中需要我們注意的相關關鍵點。為了查看中間結果一般采用將信息輸出到System.out中。

這樣就產生了一個問題:很多個線程的輸出信息都簡單的輸出到控制臺上,當我們要查看每個線程自己處理的中間信息時很麻煩。最近在一個實踐項目中,使用了Log4j讓每個線程輸出到自己的log文件中,這樣在調試的時候很方便。

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 

說明:rootLogger為控制臺,Crawler,LinkProcessor為兩個線程,分別輸出到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. ……  

這樣,在線程運行的時候會自動產生兩個日志文件Crawler.log和LinkProcessor.log,并將中間結果輸出到各自的日志文件中。

關于Java多線程調試中如何完成信息輸出處理問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注創新互聯行業資訊頻道了解更多相關知識。

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

成都網站建設公司_創新互聯,為您提供定制網站企業網站制作做網站外貿建站全網營銷推廣搜索引擎優化

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都網站建設公司