У меня есть класс java, который использует threading в java. В настоящее время я использую два потока, и я хочу, чтобы каждый поток записывал свои журналы в свой собственный файл журнала. Для этого я использую log4j. Но моя java-программа показывает мне ненормальное поведение. Я могу создать два разных файла журнала, но я вижу, что в моем первом файле журнала есть сообщение о регистрации из обоих потоков один или два, а во втором файле журнала есть только сообщения второго потока, но я хочу, чтобы отдельные записи для оба потока.Регистрация нитей в другом файле журнала
вот мой файл нить
public class MainController extends Thread{
public static synchronized void main(String args[])
{
ServerAccess t1=new ServerAccess("IP","root","zoomcallrec","cat /var/log/callrec/core1.log","com.ef.ThreadOne","Thread One");
ServerAccess t2=new ServerAccess("IP","root","zoomcallrec","cat /var/log/callrec/core1.log","com.ef.ThreadTwo","Thread Two");
t1.start();
t2.start();
}
}
Вот мой log4j Файл
log4j.logger.com.ef.ThreadOne=DEBUG, ThreadFirst
log4j.appender.ThreadFirst=org.apache.log4j.RollingFileAppender
log4j.appender.ThreadFirst.File=C:/AnalyzerLog/ThreadOne/Analyzer.log
log4j.appender.ThreadFirst.MaxFileSize=1000KB
log4j.appender.ThreadFirst.MaxBackupIndex=10
log4j.appender.ThreadFirst.layout=org.apache.log4j.PatternLayout
log4j.appender.ThreadFirst.layout.ConversionPattern=%d [%t] (%F:%L) %-5p - %m%n
log4j.logger.com.ef.ThreadTwo=DEBUG, ThreadTwo
log4j.appender.ThreadTwo=org.apache.log4j.RollingFileAppender
log4j.appender.ThreadTwo.File=C:/AnalyzerLog/ThreadTwo/Analyzer.log
log4j.appender.ThreadTwo.MaxFileSize=1000KB
log4j.appender.ThreadTwo.MaxBackupIndex=10
log4j.appender.ThreadTwo.layout=org.apache.log4j.PatternLayout
log4j.appender.ThreadTwo.layout.ConversionPattern=%d [%t] (%F:%L) %-5p - %m%n
Вот мой журналы файл, который генерирует моя программа. это нить один файл журнала, который генерирует журналы как для потока 1 и нити 2
2014-01-24 15:24:13,688 [Thread-1] (ServerAccess.java:76) DEBUG - Server is connect
2014-01-24 15:24:13,693 [Thread-0] (ServerAccess.java:76) DEBUG - Server is connect
2014-01-24 15:24:14,329 [Thread-1] (ServerAccess.java:97) DEBUG - Thread isThread TwoCounter0
2014-01-24 15:24:14,414 [Thread-1] (ServerAccess.java:97) DEBUG - Thread isThread TwoCounter1
2014-01-24 15:24:14,474 [Thread-1] (ServerAccess.java:97) DEBUG - Thread isThread TwoCounter2
2014-01-24 15:24:14,534 [Thread-1] (ServerAccess.java:97) DEBUG - Thread isThread TwoCounter3
2014-01-24 15:24:14,545 [Thread-0] (ServerAccess.java:97) DEBUG - Thread isThread OneCounter0
2014-01-24 15:24:14,589 [Thread-1] (ServerAccess.java:97) DEBUG - Thread isThread TwoCounter4
2014-01-24 15:24:14,635 [Thread-0] (ServerAccess.java:97) DEBUG - Thread isThread OneCounter1
2014-01-24 15:24:14,639 [Thread-1] (ServerAccess.java:97) DEBUG - Thread isThread TwoCounter5
2014-01-24 15:24:14,695 [Thread-0] (ServerAccess.java:97) DEBUG - Thread isThread OneCounter2
2014-01-24 15:24:14,724 [Thread-1] (ServerAccess.java:97) DEBUG - Thread isThread TwoCounter6
2014-01-24 15:24:14,755 [Thread-0] (ServerAccess.java:97) DEBUG - Thread isThread OneCounter3
2014-01-24 15:24:14,809 [Thread-1] (ServerAccess.java:97) DEBUG - Thread isThread TwoCounter7
2014-01-24 15:24:14,811 [Thread-0] (ServerAccess.java:97) DEBUG - Thread isThread OneCounter4
2014-01-24 15:24:14,861 [Thread-0] (ServerAccess.java:97) DEBUG - Thread isThread OneCounter5
2014-01-24 15:24:14,895 [Thread-1] (ServerAccess.java:97) DEBUG - Thread isThread TwoCounter8
2014-01-24 15:24:14,947 [Thread-0] (ServerAccess.java:97) DEBUG - Thread isThread OneCounter6
2014-01-24 15:24:14,957 [Thread-1] (ServerAccess.java:97) DEBUG - Thread isThread TwoCounter9
2014-01-24 15:24:15,019 [Thread-1] (ServerAccess.java:97) DEBUG - Thread isThread TwoCounter10
2014-01-24 15:24:15,032 [Thread-0] (ServerAccess.java:97) DEBUG - Thread isThread OneCounter7
2014-01-24 15:24:15,079 [Thread-1] (ServerAccess.java:97) DEBUG - Thread isThread TwoCounter11
2014-01-24 15:24:15,120 [Thread-0] (ServerAccess.java:97) DEBUG - Thread isThread OneCounter8
2014-01-24 15:24:15,139 [Thread-1] (ServerAccess.java:97) DEBUG - Thread isThread TwoCounter12
2014-01-24 15:24:15,180 [Thread-0] (ServerAccess.java:97) DEBUG - Thread isThread OneCounter9
2014-01-24 15:24:15,194 [Thread-1] (ServerAccess.java:97) DEBUG - Thread isThread TwoCounter13
2014-01-24 15:24:15,241 [Thread-0] (ServerAccess.java:97) DEBUG - Thread isThread OneCounter10
2014-01-24 15:24:15,281 [Thread-1] (ServerAccess.java:97) DEBUG - Thread isThread TwoCounter14
2014-01-24 15:24:15,301 [Thread-0] (ServerAccess.java:97) DEBUG - Thread isThread OneCounter11
2014-01-24 15:24:15,362 [Thread-0] (ServerAccess.java:97) DEBUG - Thread isThread OneCounter12
2014-01-24 15:24:15,367 [Thread-1] (ServerAccess.java:97) DEBUG - Thread isThread TwoCounter15
2014-01-24 15:24:15,417 [Thread-1] (ServerAccess.java:97) DEBUG - Thread isThread TwoCounter16
2014-01-24 15:24:15,417 [Thread-0] (ServerAccess.java:97) DEBUG - Thread isThread OneCounter13
2014-01-24 15:24:15,503 [Thread-1] (ServerAccess.java:97) DEBUG - Thread isThread TwoCounter17
2014-01-24 15:24:15,504 [Thread-0] (ServerAccess.java:97) DEBUG - Thread isThread OneCounter14
Вот нить 2 лог-файл, который генерирует журналы только для своей собственной нити
2014-01-27 10:56:56,582 [Thread-1] (ServerAccess.java:77) DEBUG - Server is connect
2014-01-27 10:56:56,774 [Thread-1] (ServerAccess.java:98) DEBUG - Thread isThread TwoCounter0
2014-01-27 10:56:56,897 [Thread-1] (ServerAccess.java:98) DEBUG - Thread isThread TwoCounter1
2014-01-27 10:56:56,957 [Thread-1] (ServerAccess.java:98) DEBUG - Thread isThread TwoCounter2
2014-01-27 10:56:57,017 [Thread-1] (ServerAccess.java:98) DEBUG - Thread isThread TwoCounter3
2014-01-27 10:56:57,072 [Thread-1] (ServerAccess.java:98) DEBUG - Thread isThread TwoCounter4
2014-01-27 10:56:57,122 [Thread-1] (ServerAccess.java:98) DEBUG - Thread isThread TwoCounter5
2014-01-27 10:56:57,207 [Thread-1] (ServerAccess.java:98) DEBUG - Thread isThread TwoCounter6
2014-01-27 10:56:57,292 [Thread-1] (ServerAccess.java:98) DEBUG - Thread isThread TwoCounter7
2014-01-27 10:56:57,380 [Thread-1] (ServerAccess.java:98) DEBUG - Thread isThread TwoCounter8
2014-01-27 10:56:57,440 [Thread-1] (ServerAccess.java:98) DEBUG - Thread isThread TwoCounter9
2014-01-27 10:56:57,500 [Thread-1] (ServerAccess.java:98) DEBUG - Thread isThread TwoCounter10
2014-01-27 10:56:57,560 [Thread-1] (ServerAccess.java:98) DEBUG - Thread isThread TwoCounter11
2014-01-27 10:56:57,620 [Thread-1] (ServerAccess.java:98) DEBUG - Thread isThread TwoCounter12
2014-01-27 10:56:57,686 [Thread-1] (ServerAccess.java:98) DEBUG - Thread isThread TwoCounter13
2014-01-27 10:56:57,771 [Thread-1] (ServerAccess.java:98) DEBUG - Thread isThread TwoCounter14
2014-01-27 10:56:57,856 [Thread-1] (ServerAccess.java:98) DEBUG - Thread isThread TwoCounter15
2014-01-27 10:56:57,906 [Thread-1] (ServerAccess.java:98) DEBUG - Thread isThread TwoCounter16