sfl4j and log4j use

The relationship between slf4j-api, slf4j-log4j12 and log4j: http://blog.csdn.net/woshixuye/article/details/20858239
Use slf4j + Log4j2 to build logs: http://blog.csdn.net/heyutao007/ article/details/50371668
First download the relevant jars, log4j-1.2.17.jar, slf4j-api-1.7.9.jar, slf4j-log4j12-1.7.9.jar
package org;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class testSFL4J {
   private static Logger log = LoggerFactory.getLogger(testSFL4J.class);
   public static void main(String[] args) {
	   log.debug("=======test root=========");
	   log.info("========test daily level info=========");
	   log.warn("========test warn=========");
	   log.error("========test error=========");
  }
}

There are two configuration methods for log4j, one is XML, the other is java property file properties, my configuration method is
log4j.properties, the details are as follows:

log4j.rootLogger = DEBUG,stdout,D

log4j.appender.stdout = org. apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.Threshold=DEBUG
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
#log4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} %c %l %m%n
log4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy- MM-dd HH:mm:ss,SSS} %c %m%n

log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = F://logs/log.log
log4j.appender .D.Append = true
### when the appender Threshold is null, extend from rootLogger,
### when the appender Threshold is exist, compare the Threshold with the level of rootLogger
### set the higher level
log4j.appender.D.Threshold = ERROR
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = [%-5p]  %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - %c%m%n


#log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
#log4j.appender.E.File =F://logs/error.log
#log4j.appender.E.Append = true
#log4j.appender.E.Threshold = ERROR
#log4j.appender.E.layout = org.apache.log4j.PatternLayout
#log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n

Console output:
[DEBUG] 2016 -10-22 11:52:52,084 org.testSFL4J ======test root==========
[INFO] 2016-10-22 11:52:52,084 org.testSFL4J ==== ====test daily level info==========
[WARN] 2016-10-22 11:52:52,084 org.testSFL4J ========test warn======= ==
[ERROR] 2016-10-22 11:52:52,084 org.testSFL4J ========test error==========
File output:
[ERROR] 2016-10-22 11: 52:52 [ main:0 ] - org.testSFL4J========test error==========
Summary:
As can be seen from the above, when the appender's Threshold is control, the rootLogger is inherited, When not null, output level, whichever is higher for appender and rootLogger.

Guess you like

Origin http://10.200.1.11:23101/article/api/json?id=326986986&siteId=291194637