Java code
-
public
class
ThreadLog1
extends
Thread {
private
static
Logger logger
=
Logger.getLogger(
"
file_1
"
);
private
boolean
stop
=
false
;
public
void
run() {
while
(
!
stop){ System.out.println(
"
I am ThreadLog1
"
); logger.info(
"
I am ThreadLog1
"
);
try
{ Thread.sleep(
1000
); }
catch
(InterruptedException e) { e.printStackTrace(); } } }
public
boolean
isStop() {
return
stop; }
public
void
setStop(
boolean
stop) {
this
.stop
=
stop; } }
Java code
-
public
class
ThreadLog2
extends
Thread {
private
static
Logger logger
=
Logger.getLogger(
"
file_2
"
);
private
boolean
stop
=
false
;
public
void
run() {
while
(
!
stop){ System.out.println(
"
I am ThreadLog2
"
); logger.info(
"
I am ThreadLog2
"
);
try
{ Thread.sleep(
1000
); }
catch
(InterruptedException e) { e.printStackTrace(); } } }
public
boolean
isStop() {
return
stop; }
public
void
setStop(
boolean
stop) {
this
.stop
=
stop; }
public
static
void
main(String []args){ ThreadLog1 log1
=
new
ThreadLog1(); ThreadLog2 log2
=
new
ThreadLog2(); log1.start(); log2.start(); } }
log4j.properties:
log4j.logger.file_1 = DEBUG,file_1
log4j.appender.file_1=org.apache.log4j.DailyRollingFileAppender
log4j.appender.file_1.layout=org.apache.log4j.PatternLayout
log4j.appender.file_1.layout.ConversionPattern=\n[%p %d{yyyy-MM-dd HH:mm:ss SSS}[%l]]\n%m
log4j.appender.file_1.file=d:/log/file_1/log.txt
log4j.additivity.file_1=false
log4j.logger.file_2 = DEBUG,file_2
log4j.appender.file_2=org.apache.log4j.DailyRollingFileAppender
log4j.appender.file_2.layout=org.apache.log4j.PatternLayout
log4j.appender.file_2.layout.ConversionPattern=\n[%p %d{yyyy-MM-dd HH:mm:ss SSS}[%l]]\n%m
log4j.appender.file_2.file=d:/log/file_2/log.txt
log4j.additivity.file_2=false