Log4j有2种配置类型,分别是xml类型和properties类型
这里使用properties类型
这里简单的看一个例子
log4j.rootLogger=debug.CONSOLE.FILE
配置根Logger,级别设置为debug,并讲日志显示到CONSOLE和FILE中
注:级别指的是日志记录的优先级,分为OFF,FATAL,ERROR,WARN,INFO,DEBUG,ALL或定义的级别,Log4j建议使用4个级别:ERROR,WARN,INFO,DEBUG,优先级别从左到右几次递减
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.Target=System.out
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%d - %c - % -4r [%t] % -5p %c %x -%m%n
log4j.appender.FILE=org.apache.log4j.FileAppender
log4j.appender.FILE.File=file.log
log4j.appender.FILE.Appender=false
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.ConversionPattern=[frameword] %d - %c -% -4r [%t] % -5p %c %x -%m%n
定义了这个输出源的实现类,输出的目标,最后定义了布局
注:Log4j提供的appender有以下几种:
org.apache.log4j.ConsoleAppender(控制台)
org.apache.log4j.FileAppender(文件)
org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)
org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件)
org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)
org.apache.log4j.SocketAppender(Socket)
org.apache.log4j.NtEventLogAppender(NT的Event Log)
org.apache.log4j.JMSAppender(电子邮件)
布局:
org.apache.log4j.HTMLLayout(以HTML表格形式布局)
org.apache.log4j.PatternLayout(可以灵活的指定布局模式)
org.apache.log4j.SimpleLayout(包括日志信息的级别和信息字符串)
org.apache.log4j.TTCCLayout(包括日志产生的时间,线程,类别等信息)
若采用PatternLayout布局,可以灵活的指定布局样式,参数如下
%m:输出代码中的指定消息
%p:输出优先级
%r:输出自应用启动到输出log信息耗费的毫秒数
%c:输出所属的类目,通常就是所在类的全名
%t:输出产生该日志事件的线程名
%n:输出一个回车换行符
%d:输出日志时间点的日期或时间
%l:输出日志时间的发生位置,包括类目名,发生的线程,以及在代码中的行数
在代码中使用Log4j
1,得到Logger
public static Logger getLogger(String name)
public static Logger getLogger(Class name)
例如 Logger logger = Logger.getLogger(Class name)
2,读取配置文件
BasicConfiguratior.configure():自动快速的使用默认的Log4j环境
PropertyConfigurator.configrue(String configFilename):读取使用Java的属性文件编写的配置文件
DOMConfigurator.configure(String filename):读取XML形式的配置文件
3,在程序中记录日志
调用debug方法等