log4j-1.2.xx.jar
slf4j-api-x.x.x.jar
slf4j-log4j12-x.x.x.jar
在工程的src根目录下创建log4j.properties文件(名字是固定的,这是初始化类文件中固定的名称和路径)
这个是一个资源配置文件,指定固定的key和value进行配置。基本格式如下:
#1.配置根Logger
log4j.rootLogger = [ level ] , appenderName1 , appenderName2 , …
其中这里也可以用rootCategory进行配置,因为Logger是Category的一个子类。
#2.配置日志信息输出目的地Appender
log4j.appender.appenderName = fully.qualified.name.of.appender.class
log4j.appender.appenderName.option1 = value1
Appender 为日志输出目的地,Log4j提供的appender有以下几种:
org.apache.log4j.ConsoleAppender(控制台),
org.apache.log4j.FileAppender(文件),
org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件),
org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件),
org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)
Layout:日志输出格式,Log4j提供的layout有以下几种:
org.apache.log4j.HTMLLayout(以HTML表格形式布局),
org.apache.log4j.PatternLayout(可以灵活地指定布局模式),
org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),
org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)
其中这里可以用该类的大写首字母来简写使用。
以下是一个完整的log4j.properties
log4j.rootCategory=error, stdout, R
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p : %c(%L) -> %m%n
log4j.appender.R=org.apache.log4j.DailyRollingFileAppender
log4j.appender.R.File=/home/httpd/html/gameStatistics/log/stats.log
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d %p : %c(%L) -> %m%n
log4j.logger.org.apache.commons=error
log4j.logger.com.danga.MemCached.MemCachedClient=ERROR
其中R,代表RollingFileAppender,指定文件大小到达指定尺寸的时候产生一个新的日志文件,R.File配置了文件路径和名称,R.layout使日志以指定布局模式输出,
R.layout.ConversionPattern采用类似C语言中的printf函数的打印格式格式化日志信息;
log4j.logger.com.danga.MemCached.MemCachedClient=ERROR,指单独设置memcached日志级别