Log4j slf4j 配置简单介绍
先借鉴一篇很好的文章
为什么要使用SLF4J而不是Log4J
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class StandAlone {
private Logger log = LoggerFactory.getLogger("StandAlone.class");
public void testLogger(){
log.trace("------trace------");
log.debug("------debug------");
log.info("------INFO------");
log.warn("------warn------");
log.error("------error------");
}
public static void main(String[] args) {
new StandAlone().testLogger();
}
}
附上简单明了的Log4j.properties
#定义根日志级别和输出端(定义了两个输出端)
log4j.rootLogger=INFO,CONSOLE
#定义第一个输出端,输出到控制台
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%d [%t] %-5p %c(%L) - %m%n
#2、配置log输出目的地:
#org.apache.log4j.ConsoleAppender(控制台)
#org.apache.log4j.FileAppender(文件)
#org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)
#org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件)
#org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)
#3、log信息的格式:
#org.apache.log4j.HTMLLayout(HTML表格形式)
#org.apache.log4j.SimpleLayout(简单格式的日志,只包括日志信息的级别和指定的信息字符串 ,如:DEBUG - Hello)
#org.apache.log4j.TTCCLayout(日志的格式包括日志产生的时间、线程、类别等等信息)
#org.apache.log4j.PatternLayout(灵活地自定义日志格式)
//控制输出级别
log4j.logger.StandAlone.class=TRACE
注意最后一句,取决于LogFactory.getLogger();的参数如何写的
正常的写法是
StandAlone.class
也就是类本身
那么就应该这么控制
log4j.logger.your.package.name.StandAlone=TRACE
可用的输出级别有
ALL TRACE DEBUG INFO WARN ERROR OFF
OFF就是屏蔽