log4j.rootLogger=INFO,stdout, root , A, B
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = %d{ABSOLUTE} %5p %c{1}:%L - %m%n
log4j.appender.root=org.apache.log4j.DailyRollingFileAppender
log4j.appender.root.Append=true
log4j.appender.root.DatePattern='.'yyyy-MM-dd
log4j.appender.root.File=C:/logs/timer/timer.log
log4j.appender.root.Threshold=INFO
log4j.appender.root.layout=org.apache.log4j.PatternLayout
log4j.appender.root.layout.ConversionPattern=%d - %c [%t] %-5p %c %x %l - %m%n
log4j.logger.A=INFO, A
log4j.appender.A=org.apache.log4j.DailyRollingFileAppender
log4j.appender.A.Append=true
log4j.appender.A.DatePattern='.'yyyy-MM-dd
log4j.appender.A.File=C:/logs/A/a.log
log4j.appender.A.Threshold=INFO
log4j.appender.A.layout=org.apache.log4j.PatternLayout
log4j.appender.A.layout.ConversionPattern=%d - %c [%t] %-5p %c %x %l - %m%n
log4j.additivity.A=false
log4j.logger.B=INFO, B
log4j.appender.B=org.apache.log4j.DailyRollingFileAppender
log4j.appender.B.Append=true
log4j.appender.B.DatePattern='.'yyyy-MM-dd
log4j.appender.B.File=C:/logs/B/b.log
log4j.appender.B.Threshold=INFO
log4j.appender.B.layout=org.apache.log4j.PatternLayout
log4j.appender.B.layout.ConversionPattern=%d - %c [%t] %-5p %c %x %l - %m%n
log4j.additivity.B=false
log4j-1.2.17.jar
slf4j-api-1.7.25.jar
slf4j-log4j12-1.7.25.jar
import java.io.IOException;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.slf4j.Logger;
import org.slf4j.impl.StaticLoggerBinder;
public class Main {
public static void main(String[] args) throws InvalidFormatException, IOException {
Logger A = StaticLoggerBinder.getSingleton().getLoggerFactory().getLogger("A");
A.info("A ." ) ;
A.info("A A.") ;
Logger B = StaticLoggerBinder.getSingleton().getLoggerFactory().getLogger("B");
B.info("B ." ) ;
B.info("B B.") ;
Logger root = StaticLoggerBinder.getSingleton().getLoggerFactory().getLogger("root");
root.info("root ." ) ;
root.info("root root.") ;
}
}
root 都打印
a ,b 各自打印
a.log
2017-09-27 10:42:08,940 - A [main] INFO A Main.main(Main.java:13) - A .
2017-09-27 10:42:08,942 - A [main] INFO A Main.main(Main.java:14) - A A.
2017-09-27 10:42:08,943 - root [main] INFO root Main.main(Main.java:21) - root .
2017-09-27 10:42:08,943 - root [main] INFO root Main.main(Main.java:22) - root root.
b.log
2017-09-27 10:42:08,942 - B [main] INFO B Main.main(Main.java:17) - B .
2017-09-27 10:42:08,943 - B [main] INFO B Main.main(Main.java:18) - B B.
2017-09-27 10:42:08,943 - root [main] INFO root Main.main(Main.java:21) - root .
2017-09-27 10:42:08,943 - root [main] INFO root Main.main(Main.java:22) - root root.