log4j配置详解
来源:互联网 发布:知乎用户数量 编辑:程序博客网 时间:2024/06/14 09:50
一、在lib下导入commons-logging-1.0.4.jar和log4j-1.2.14.jar两个包
二、在src中package下新建log4j.properties
【配置文件】
#log4j.rootCategory=INFO,stdout,file#配置根Loggerlog4j.rootLogger=INFO,stdout,file#配置日志信息输出目的地Appender#定义一个名为 stdout 的输出目的地, ConsoleAppender 为控制台log4j.appender.stdout=org.apache.log4j.ConsoleAppender#日志输出格式Layout#PatternLayout 可以灵活地指定布局模式log4j.appender.stdout.layout=org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern=[QC]%p[%t]%C.%M(%L)|%m%nlog4j.appender.file=org.apache.log4j.DailyRollingFileAppender#日志文件的输出路径log4j.appender.file.File=E\:/logs/rizhi.log log4j.appender.file.layout=org.apache.log4j.PatternLayoutlog4j.appender.file.Threshold = DEBUG ## 输出DEBUG级别以上的日志log4j.appender.file.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n#log4j.appender.file.layout.ConversionPattern=%d-[TS]%p%t%c-%m%nlog4j.logger.com.neusoft=DEBUG#如果项目中没有配置EHCache(缓存),则配置以下两句为ERRORlog4j.logger.com.opensymphony.oscache=ERRORlog4j.logger.net.sf.navigator=ERROR#struts配置log4j.logger.org.apache.commons=ERRORlog4j.logger.org.apache.struts=WARN#displaytag 配置log4j.logger.org.displaytag=ERROR#spring配置log4j.logger.org.springframework=DEBUG#ibatis配置log4j.logger.com.ibatis.db=WARN#hibernate配置log4j.logger.org.hibernate=DEBUGlog4j.logger.org.hibernate.ps.PreparedStatementCache=WARNlog4j.logger.org.logicalcobwebs=WARNlog4j.logger.org.apache.velocity=FATALlog4j.logger.com.canoo.webtest=WARN说明:
1、log4j.rootLogger与log4j.rootCategory区别:
rootLogger是新的使用名称,对应Logger类;而rootCategory是旧的使用名称,对应原来的Category类。Logger类是Category类的子类,所以,rootCategory是旧的用法,不推荐使用
2、log4j 的配置文件
Log4j 支持两种配置文件格式,一种是 XML 格式的文件,一种是 Java 特性文件 lg4j.properties (键 = 值)。
lg4j.properties 文件作为作为常用的配置文件的方法如下:
2.1、配置根 Logger
其语法为:
log4j.rootLogger = [ level ] , appenderName, appenderName, …
其中【level】是日志记录的优先级,共有5级:
OFF 、 FATAL 、 ERROR 、 WARN 、 INFO 、 DEBUG 、 ALL 或者自定义的级别Log4j 建议只使用四个级别,优先级从高到低分别:
ERROR 、 WARN 、 INFO 、 DEBUG只有等于及高于这个级别的才进行处理,则应用程序中所有 DEBUG 级别的日志信息将不被打印出来。 ALL: 打印所有的日志, OFF :关闭所有的日志输出。 appenderName 就是指定日志信息输出到哪个地方。可同时指定多个输出目的地。
2、2 配置日志信息输出目的地 Appender 负责控制日志记录操作的输出。
其语法为:
log4j.appender.appenderName = fully.qualified.name.of.appender.class log4j.appender.appenderName.option1 = value1 log4j.appender.appenderName.optionN = valueN
Appender 为日志输出目的地,Log4j提供的appender有以下几种:
org.apache.log4j.ConsoleAppender(控制台),org.apache.log4j.FileAppender(文件),org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件),org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件),可通过 log4j.appender.R.MaxFileSize=100KB 设置文件大小,还可通过 log4j.appender.R.MaxBackupIndex=1 设置为保存一个备份文件。 org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)
2、3 Layout:日志输出格式,Log4j提供的layout有以下几种:
org.apache.log4j.HTMLLayout(以HTML表格形式布局),org.apache.log4j.PatternLayout(可以灵活地指定布局模式),org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)2、4 格式化日志信息
打印参数: Log4J采用类似C语言中的printf函数的打印格式格式化日志信息,如下:
%m 输出代码中指定的消息 %p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL %r 输出自应用启动到输出该log信息耗费的毫秒数 %c 输出所属的类目,通常就是所在类的全名 %t 输出产生该日志事件的线程名 %n 输出一个回车换行符,Windows平台为“/r/n”,Unix平台为“/n” %d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss , SSS},输出类似:2002年10月18日 22 : 10 : 2 8 , 921 %l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main(TestLog4.java: 10 )
三、src下package中新建LogTest.java
【代码】
package test;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;/** * 测试Log4j *@author 郑学仕 *@version 2013-12-16 */ public class LogTest { private static final Log LOG = LogFactory.getLog(LogTest.class); public void log(){ LOG.debug("Debug info..."); LOG.info("Info info..."); LOG.warn("Warn info..."); LOG.error("Error info..."); LOG.fatal("Fatal info..."); } public static void main(String[] args) { LogTest test = new LogTest(); test.log(); } }
0 0
- log4j配置详解配置
- log4j配置详解
- log4j配置详解
- log4j配置详解
- log4j配置详解
- Log4j配置详解
- log4j配置详解
- log4j配置详解
- log4j配置详解
- log4j配置详解
- Log4j配置详解
- log4j配置详解
- log4j配置详解
- log4j配置详解
- Log4J的配置详解
- Log4j配置详解
- Log4j配置详解
- Log4j.properties配置详解
- SQLServer 自定义分割函数
- Spring测试框架的介绍
- dede标签里获取模板图片路径
- 2013年终总结--工作篇
- Sunshine数据库篇之事物
- log4j配置详解
- response.encodeURL 心法
- cocos2d-x 二进制文件的读写
- java int and string convert
- Android 手机屏幕是否被锁上了
- FreeMarker模板文件的组成及基本语法详解
- Storm集群搭建
- PHP面试技巧之口试题 大家可以看看
- WPF:属性触发器