Log4j是一款优秀的日志记录组件,通过使用Log4j可以完成变量的跟踪,应用程序的调试和错误信息跟踪。灵活运用Log4j可以记录各种形式的系统活动日志和应用程序日志。
若使用Log4j,需要先到apache网站上下载log4j的jar包,放到相应的路径下。在使用Log4j时,不推荐使用缺省默认的初始化方式。Log4j的初始化配置方式:(1)BasicConfigurator.configure(),缺省的配置方式;(2)PropertyConfigurator.configure("log4j.properties");用自定义的log4j.properties配置参数。
下面是log4j.properties示例:
log4j.rootLogger=INFO,FILE
log4j.logger.com=DEBUG,A
#FILE log
log4j.appender.FILE=org.apache.log4j.DailyRollingFileAppender
log4j.appender.FILE.File=app.log
log4j.appender.FILE.layout = org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss}: [%p] %m%n
#A log
log4j.appender.A=org.apache.log4j.DailyRollingFileAppender
log4j.appender.A.File=web.log
log4j.appender.A.layout = org.apache.log4j.PatternLayout
log4j.appender.A.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss}: [%p] %t%m%n
上面是一个很简单的配置文件,其中:
log4j.rootLogger:定义根Logger,它是后面定义的所有Logger的根Logger,系统缺省拥有。INFO、FILE的意思分别是log的级别、所使用的appender。可以在一个Logger后面跟多个appender。比如 log4j.rootLogger=INFO,FILE,B,C,D............定义了FILE,B,C,D等appender.
log4j.logger.com:定义一个Logger,所有以com包下的Logger,则都使用名为A的appender
log4j.appender.FILE=org.apache.log4j.DailyRollingFileAppender:为名为File的appender定义appender类型,Log4j提供了以下几种常见的类型:
org.apache.log4j.ConsoleAppender(输出到控制台)
org.apache.log4j.FileAppender(输出到文件)
org.apache.log4j.DailyRollingFileAppender(滚动文件,每天一个)
org.apache.log4j.RollingFileAppender(滚动文件,需指定文件大小)
org.apache.log4j.WriterAppender(输出到任意位置)
org.apache.log4j.jdbc.JDBCAppender(通过JDBC输出到数据库,需要配置jdbc参数)