log4j.rootCategory=INFO, stdout , R
表示 info 的 等级声明 ,下面 有 stdout ,R 两个 appender
等级声明 可以分为 OFF、 FATAL、ERROR、WARN、INFO、DEBUG、ALL
打印输出的优先级 : DEBUG,INFO,WARN,ERROR,FATAL 由低到高
log4j.appender.stdout=org.apache.log4j.ConsoleAppender(表示控制台的输出)
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=[%p] %-d{yyyy-MM-dd HH:mm:ss} [%c]- %m%n
基本输出声明
org.apache.log4j.FileAppender(文件),
org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件),
org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件)
org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)
常用的一些声明
关于 layout :
org.apache.log4j.HTMLLayout(以HTML表格形式布局),
org.apache.log4j.PatternLayout(可以灵活地指定布局模式),
org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),
org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)
example : log4j.appender.R.layout = org.apache.log4j.PatternLayout;
log4j.appender.R.layout.ConversionPattern=[%p] %-d{yyyy-MM-dd HH:mm:ss} [%c]- %m%n
格式化输出:
%m 输出代码中指定的消息
%p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL
%r 输出自应用启动到输出该log信息耗费的毫秒数
%c 输出所属的类目,通常就是所在类的全名
%t 输出产生该日志事件的线程名
%n 输出一个回车换行符,Windows平台为“rn”,Unix平台为“n”
%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyyy MMM dd HH:mm:ss,SSS},输出类似:2002年10月18日 22:10:28,921
%l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数
关于抽取整个 项目的部分 类的日志:
首先声明 Log log = LogFactory.getFactory(getClass());
在 log4j.property中声明:
log4j.xxxx (相关加入日志的文件) = INFO(等级),temp(appender)
log4j.appender.temp = xx 进行声明
和主要的 log 文件 相对比它们 是 包含和被包含的关系 ,主要是 层次可以比较分明
转自 http://www.blogjava.net/kit-soft/archive/2009/08/28/292977.html 自己一些小运用