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