中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2021-11-20 17:56:08 來源:億速云 閱讀:292 作者:柒染 欄目:編程語言

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多線程調試中如何完成信息輸出處理問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

兖州市| 湄潭县| 象山县| 青海省| 怀宁县| 明水县| 托克托县| 西青区| 若羌县| 鄢陵县| 淮安市| 玛曲县| 富阳市| 花莲县| 伊川县| 大邑县| 达拉特旗| 从化市| 泾阳县| 五台县| 栾川县| 华容县| 玉树县| 达尔| 乌恰县| 山西省| 安国市| 报价| 屏东县| 湾仔区| 广西| 云梦县| 海林市| 阿拉善左旗| 会宁县| 内丘县| 双流县| 宝清县| 台北市| 余江县| 蒙自县|