给java项目添加log4j日志:
1.下载log4j jar包,放入lib目录, 导入项目中
2.创建log4j.properties 文件 目录 Src
3.在需要使用输出的类中使用
private static Logger log=Logger.getLogger(XXXX.class); log.info("log4j日志");
log4j配置:
来源:(http://www.cnblogs.com/alipayhutu/archive/2012/06/21/2558249.html)和http://blog.sina.com.cn/s/blog_4e4dd5570100qowy.html
log4j.rootLogger=日志级别 || null , 输出目的地1, 输出目的地2,
….
日志级别可以为ALL<DEBUG<INFO<WARN<ERROR<FATAL<OFF,不区分大小写,该设置默认对整个工程有效
输出目的地命名随意,与后面配置对应即可
如log4j.rootCategory=INFO,
stdout , R表示将等级为INFO的日志信息输出到stdout和R这两个目的地,INFO等级只显示INFO, WARN,
ERROR的log信息
如果只对某些包操作,可以设置log4j.logger.com.netcloud=INFO,stdout
表示该日志输出只对com.netcloud包起作用
log4j.appender.输出目的地1=org.apache.log4j.日志输出的地方
ConsoleAppender(控制台)
FileAppender(文件)
DailyRollingFileAppender(每天产生一个日志文件)
RollingFileAppender(文件大小到达指定尺寸时产生一个新的文件)
WriteAppender(将日志信息以流格式发送到任意指定的地方)
JDBCAppender(将日志信息保存到数据库中)
log4j.appender.输出目的地1.layout =
(日志布局样式)
HTMLLayout(以HTML表格形式布局)
SimpleLayout(包含日志信息的级别和信息字符串)
TTCCLayout(包含日志产生的时间,执行绪,类别等信息)
PatternLayout(可以灵活的指定布局格式,常用)
log4j.appender.输出目的地1.layout.ConversionPattern
= (日志输出格式)
例如,%d - %m%n或%d{yyyy-MM-dd HH:mm:ss} %p [%c] %m%n
%c
输出日志信息所属的类的全名
%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy-M-dd
HH:mm:ss },输出类似:2002-10-18- 22:10:28
%f 输出日志信息所属的类的类名
%l
输出日志事件的发生位置,即输出日志信息的语句处于它所在的类的第几行
%m 输出代码中指定的信息,如log(message)中的message
%n
输出一个回车换行符,Windows平台为“rn”,Unix平台为“n”
%p
输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL。如果是调用debug()输出的,则为DEBUG,依此类推
%r
输出自应用启动到输出该日志信息所耗费的毫秒数
%t
输出产生该日志事件的线程名
http://blog.sina.com.cn/s/blog_4e4dd5570100qowy.html
Logger类:完成日志记录,设置日志信息级别
Appender类:决定日志去向,终端、DB、硬盘
Layout类:决定日志输出的样式,例如包含当前线程、行号、时间
以输出到控制台为例:
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d
[%p] [%t] %C.%M(%L) |
%m%n
以输出到文件为例:
log4j.appender.R=org.apache.log4j.DailyRollingFileAppender(定义名为R的输出端的类型为每天产生一个日志文件)
log4j.appender.R.File=logs/qc.log
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d-[TS]
%p %t %c - %m%n