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就是屏蔽