log4j简介
其实不管Java还是.net,都用log4j,它是apache提供的一个日志操作包,开源项目,通过使用log4j,可以控制日志信息输送的目的地是控制台/文件/GUI组件,甚至是套接口服务器等.我们可以控制每一条日志的输出格式,通过定义每一条日志信息的级别,能细致地控制日志的生成过程.
基本使用方法
log4j由三个重要的组件构成:日志信息的优先级(Loggers),日志信息的输出目的地(Appenders),日志信息的输出格式(Layouts);
语法:
log4j.rootLogger = [ level ] , appenderName1, appenderName2, …
loggers
常用五个级别:DEBUG、INFO、WARN、ERROR和FATAL,五个级别顺序:DEBUG < INFO < WARN < ERROR < FATAL,如果在这里定义了info级别,那么应用程序中所有debug级别的日志信息将不被打印出来.
appenderName:指定日志信息输出目的地,比如(打印到控制台,输出到文件等).同一条日志信息可以配置多个输出目的地.
log4j提供以下几种:
org.apache.log4j.ConsoleAppender(控制台)
org.apache.log4j.FileAppender(文件)
org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)
org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件)
org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)
Layout
layout负责格式化appender的输出
log4j提供的layout有以下几种:
•org.apache.log4j.HTMLLayout(以HTML表格形式布局),
•org.apache.log4j.PatternLayout(可以灵活地指定布局模式),
•org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串)
•org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)
附上一个咱们项目的
log4j.rootLogger=info,CONSOLE
# CONSOLE
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.Threshold=info
log4j.appender.CONSOLE.Target=System.out
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%d %-5p %l %t |- %m%n
这里附上一个p6spy的日志打印: 请看我的这篇博客
P6Spy格式化sql