- 浏览: 1341957 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (453)
- Struts2 (4)
- Struts1 (16)
- Spring (9)
- Hibernate (5)
- AJAX (16)
- MS Server (9)
- Oracle (35)
- 测试技术 (5)
- 其他 (37)
- JSF (1)
- EJB (5)
- ASP.NET (9)
- iBATIS (5)
- Struts Spring Hibernate (2)
- HTML (12)
- Eclipse使用 (5)
- 设计模式 (5)
- JSP (32)
- 正则表达式 (2)
- 服务器 (12)
- Java基础 (48)
- MySQL (4)
- 面试 (22)
- UML (1)
- 数据结构 (3)
- Ant (2)
- 规范 (4)
- JavaScript (29)
- 软件使用及技巧 (25)
- PHP (1)
- DWR (3)
- FreeMarker (1)
- ExtJs (17)
- JFreeChart (9)
- Reports (2)
- JavaException (1)
- Java Mail (1)
- Flex (9)
- 异常 (12)
- Log4j (2)
- WebService (1)
- jQuery (1)
- Sybase (2)
- myeclipse_plugin (2)
- Linux (5)
- jbpm (2)
- SCM (1)
- mongoDB (1)
最新评论
-
lihua2008love:
<typeAlias alias="User& ...
IBATIS简单操作 -
lihua2008love:
...
关于项目框架设计的一点学习 -
c_jinglin:
我使用<OBJECT CLASSID="cls ...
这就是个静态页面通过js控制mscomm对某com设备进行访问的例子. -
zlbjava:
赞,用了还不错
java获取请求的ip地址,并解析ip所属地区 -
完美天龙:
cs842813290 写道楼主,我明白的地方:在链表已有N个 ...
JAVA实现双向链表
虽然以前一直在用log4j,但是对其配置不甚了了,突然间因为需解决某些问题,要理解log4j的配置,
然而用google搜了一下,却发现网上没有一个简单直观的说明,于是只好看log4j的官方介绍,终于
理解了log4j的配置用法,以下是我对log4j配置的一点认识,如有谬误还请不吝赐教.
首先我们搞清楚log4j能干什么,简单来说就是提供一个记录不同级别信息内容的日志工具,
可以把不同级别,不同包路径的信息,以指定格式输出到多种设备(控制台,文件等)
在程序中,可以以以下方式来使用
Log log = org.apache.commons.logging.LogFactory.LogFactory.getLog(yourClassName.class);
log.debug("debug message -------------------");
log.info("info message ******************");
log.warn("warn message +++++++++++++++");
log.error("error msg=================");
本文主要讲的是如何配置log4j,先让我们先看看一个典型的log4j配置:
==========log4j.properties==================
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{MM-dd HH\:mm\:ss.SSS} %-5p [%F\:%L]%x %m%n
log4j.appender.fileout=org.apache.log4j.RollingFileAppender
log4j.appender.fileout.File=D:/workspace/log4jtest/log/application.log
log4j.appender.fileout.MaxFileSize=10000KB
log4j.appender.fileout.MaxBackupIndex=10
log4j.appender.fileout.layout=org.apache.log4j.PatternLayout
log4j.appender.fileout.layout.ConversionPattern=%d{MM-dd HH:mm:ss.SSS}[%24F:%-3L:%-5p]%x %m%n
log4j.rootCategory=INFO, stdout, fileout
log4j.logger.com.wolfsquare.log2=DEBUG,stdout
===================================
这个文件可以划为三小块
===========第一块定义了一个名为 stdout 的appender和layout (appender,layout的概念后面再解释,目前先记着有这样两个名词):
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
定义stdout的实际输出实现类,从这个appender实现类名可以猜到,这个类是负责控制台输出的。
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
定义stdout的输出装饰器
log4j.appender.stdout.layout.ConversionPattern=%d{MM-dd HH\:mm\:ss.SSS} %-5p [%F\:%L]%x %m%n
装饰器参数配置
============第二块定义了一个名为 fileout 的appender和layout:
log4j.appender.fileout=org.apache.log4j.RollingFileAppender
同理可猜这个实现类是输出到文件的
log4j.appender.fileout.File=D:/workspace/log4jtest/log/application.log
log4j.appender.fileout.MaxFileSize=10000KB
log4j.appender.fileout.MaxBackupIndex=10
log4j.appender.fileout.layout=org.apache.log4j.PatternLayout
log4j.appender.fileout.layout.ConversionPattern=%d{MM-dd HH:mm:ss.SSS}[%24F:%-3L:%-5p]%x %m%n
============第三块定义了名字分别为rootCategory,log4j.logger.com.wolfsquare.log2的两个logger
log4j.rootCategory=INFO, stdout, fileout
log4j.logger.com.wolfsquare.log2=DEBUG,stdout
rootCategory logger是缺省的logger,记录所有的包的信息输出。
第二个logger是只输出指定包com.wolfsquare.log2下的日志信息。
那么INFO,DEBUG又是什么意思呢,他们是信息的分级标识,通过继承实现这个实现自定义级别的分级。
第三块配置两句的意思是这样的:
rootCategory 把所有类的INFO级别以上的信息输出到stdout和fileout两个appender中,
logger.com.wolfsquare.log2,把com.wolfsquare.log2包中的所有类(包括子包)DEBUG级别(含)以上的信息输出到stdout 中
一个logger可以输出到很多个设备中(appender),如果需要增加输出设备则用分号分隔开appender名称即可。
输出信息的分类级别是DEBUG > INFO > WARN > ERROR,信息细节由细到粗,指定输出某一级别的信息时,
过细的信息输出将会被忽略
如果一个配置中有多个logger,他们之间会有什么关系呢?答案是,在输出上,他们没有任何关系,都是独立运作的,
不相关的,但是在配置上,父包的配置会传给子包,如果子包没有另外定义配置的话。
例如上面配置文件中的两个logger:
log4j.logger.com.wolfsquare
log4j.logger.com.wolfsquare.log2
这里认为 log4j.logger.com.wolfsquare.log2 继承自 log4j.logger.com.wolfsquare,他们的配置声明如下:
log4j.rootCategory=INFO, stdout, fileout
log4j.logger.com.wolfsquare.log2=,stdout
注意第二句没有指定输出级别,那么根据配置继承规则会继承父logger的配置,在这里就是INFO。
同时需要强调的是,如果两个logger有继承关系,且输出到同一个appender,根据输出独立原则,那么将会出现两行一样的信息,
例如上面的两个logger定义会导致这样的情况。
最后以一幅图来概括:
然而用google搜了一下,却发现网上没有一个简单直观的说明,于是只好看log4j的官方介绍,终于
理解了log4j的配置用法,以下是我对log4j配置的一点认识,如有谬误还请不吝赐教.
首先我们搞清楚log4j能干什么,简单来说就是提供一个记录不同级别信息内容的日志工具,
可以把不同级别,不同包路径的信息,以指定格式输出到多种设备(控制台,文件等)
在程序中,可以以以下方式来使用
Log log = org.apache.commons.logging.LogFactory.LogFactory.getLog(yourClassName.class);
log.debug("debug message -------------------");
log.info("info message ******************");
log.warn("warn message +++++++++++++++");
log.error("error msg=================");
本文主要讲的是如何配置log4j,先让我们先看看一个典型的log4j配置:
==========log4j.properties==================
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{MM-dd HH\:mm\:ss.SSS} %-5p [%F\:%L]%x %m%n
log4j.appender.fileout=org.apache.log4j.RollingFileAppender
log4j.appender.fileout.File=D:/workspace/log4jtest/log/application.log
log4j.appender.fileout.MaxFileSize=10000KB
log4j.appender.fileout.MaxBackupIndex=10
log4j.appender.fileout.layout=org.apache.log4j.PatternLayout
log4j.appender.fileout.layout.ConversionPattern=%d{MM-dd HH:mm:ss.SSS}[%24F:%-3L:%-5p]%x %m%n
log4j.rootCategory=INFO, stdout, fileout
log4j.logger.com.wolfsquare.log2=DEBUG,stdout
===================================
这个文件可以划为三小块
===========第一块定义了一个名为 stdout 的appender和layout (appender,layout的概念后面再解释,目前先记着有这样两个名词):
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
定义stdout的实际输出实现类,从这个appender实现类名可以猜到,这个类是负责控制台输出的。
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
定义stdout的输出装饰器
log4j.appender.stdout.layout.ConversionPattern=%d{MM-dd HH\:mm\:ss.SSS} %-5p [%F\:%L]%x %m%n
装饰器参数配置
============第二块定义了一个名为 fileout 的appender和layout:
log4j.appender.fileout=org.apache.log4j.RollingFileAppender
同理可猜这个实现类是输出到文件的
log4j.appender.fileout.File=D:/workspace/log4jtest/log/application.log
log4j.appender.fileout.MaxFileSize=10000KB
log4j.appender.fileout.MaxBackupIndex=10
log4j.appender.fileout.layout=org.apache.log4j.PatternLayout
log4j.appender.fileout.layout.ConversionPattern=%d{MM-dd HH:mm:ss.SSS}[%24F:%-3L:%-5p]%x %m%n
============第三块定义了名字分别为rootCategory,log4j.logger.com.wolfsquare.log2的两个logger
log4j.rootCategory=INFO, stdout, fileout
log4j.logger.com.wolfsquare.log2=DEBUG,stdout
rootCategory logger是缺省的logger,记录所有的包的信息输出。
第二个logger是只输出指定包com.wolfsquare.log2下的日志信息。
那么INFO,DEBUG又是什么意思呢,他们是信息的分级标识,通过继承实现这个实现自定义级别的分级。
第三块配置两句的意思是这样的:
rootCategory 把所有类的INFO级别以上的信息输出到stdout和fileout两个appender中,
logger.com.wolfsquare.log2,把com.wolfsquare.log2包中的所有类(包括子包)DEBUG级别(含)以上的信息输出到stdout 中
一个logger可以输出到很多个设备中(appender),如果需要增加输出设备则用分号分隔开appender名称即可。
输出信息的分类级别是DEBUG > INFO > WARN > ERROR,信息细节由细到粗,指定输出某一级别的信息时,
过细的信息输出将会被忽略
如果一个配置中有多个logger,他们之间会有什么关系呢?答案是,在输出上,他们没有任何关系,都是独立运作的,
不相关的,但是在配置上,父包的配置会传给子包,如果子包没有另外定义配置的话。
例如上面配置文件中的两个logger:
log4j.logger.com.wolfsquare
log4j.logger.com.wolfsquare.log2
这里认为 log4j.logger.com.wolfsquare.log2 继承自 log4j.logger.com.wolfsquare,他们的配置声明如下:
log4j.rootCategory=INFO, stdout, fileout
log4j.logger.com.wolfsquare.log2=,stdout
注意第二句没有指定输出级别,那么根据配置继承规则会继承父logger的配置,在这里就是INFO。
同时需要强调的是,如果两个logger有继承关系,且输出到同一个appender,根据输出独立原则,那么将会出现两行一样的信息,
例如上面的两个logger定义会导致这样的情况。
最后以一幅图来概括:
发表评论
-
Web开发通用监控类解决方案(代码零侵入性)
2009-07-01 14:00 1174我们开发网站的过程中,经常会碰到这种情况,当调用某个类中函数的 ... -
java获取请求的ip地址,并解析ip所属地区
2009-06-01 09:05 9045每次看见QQ上面能够显示对方的ip和地址让人觉得舒服。。刚刚无 ... -
jsp是上传图片加水印
2009-05-05 14:46 1506参考附件. -
JSP 中路径相关的常用解决办法
2009-04-22 15:58 1897<%@ page language="ja ... -
Jsp页面弹出输入对话框的实现收藏
2009-01-16 16:48 3958在写JSP页面的时候,有时需要点击一个按钮弹出一个输入对话框, ... -
log4j xml配置详解
2008-12-30 08:07 15539<?xml version="1.0" ... -
一个关于java.net.Socket的超时的问题
2008-12-26 10:44 5002从异常信息中,可以看到是read timed out,应该是S ... -
防止刷新带来的重复提交
2008-10-08 14:17 1505------------------------------- ... -
防止盗链
2008-09-04 22:28 1511<%=request.getHeader("R ... -
ip 验证
2008-08-31 23:38 1206if(kk_BlacklistVehicle_UserEnro ... -
用户登陆 封装
2008-08-31 23:37 1169首先要有一个封装类,我用UserInfo package d ... -
加密算法SHA-1,SHA-256,SHA-512,MD2,MD5
2008-08-31 23:33 6157自定义某种算法 package test; ... -
Java 调用 Oracle 存储过程返回结果集
2008-08-12 08:16 2566Oracle 存储过程返回结果集用 ref cursor 实现 ... -
分页技术
2008-07-19 11:33 1392在使用数据库的过程中,不可避免的需要使用到分页的功能,可是JD ... -
对分页的封装
2008-07-16 19:59 1862package com.bjsxt.oa.web; im ... -
Pagger-taglib分页
2008-07-16 17:57 1405<%@ page language="java ... -
JavaScirpt和JSP数据数据交互使用问题
2008-07-03 21:53 1477一、页面中的JavaScript的数据如何提交给后台的jsp程 ... -
用Cookie实现的购物车
2008-07-02 23:17 8286Cusorderitem.java 封装了相关的商品购买信息 ... -
Servlet中文API文档
2008-06-30 14:08 4129基本类和接口 一、javax. ... -
控制 Web 缓存
2008-06-19 21:11 1268控制 Web 缓存 假设两个并发用户(用户 A 和用户 ...
相关推荐
Log4j配置说明.rarLog4j配置说明.rarLog4j配置说明.rarLog4j配置说明.rar,Log4j配置,Log4j Log4j配置说明.rarLog4j配置说明.rarLog4j配置说明.rarLog4j配置说明.rar,Log4j配置,Log4j
log4j配置文档log4j配置文档log4j配置文档log4j配置文档log4j配置文档log4j配置文档log4j配置文档log4j配置文档log4j配置文档log4j配置文档log4j配置文档log4j配置文档
Log4j日志配置说明,Log4j日志配置说明Log4j日志配置说明,Log4j日志配置说明
log4j配置和加载方法log4j配置和加载方法
log4j配置使用说明及JAR包log4j配置使用说明及JAR包
log4j 详细配置 log4j 详细配置 log4j 详细配置 log4j 详细配置
log4j配置文件说明,让你轻松配置日志文件
常用log4j配置 [转] 常用log4j配置,
log4j中配置日志文件相对路径方法分析 方法一、 解决的办法自然是用相对路径代替绝对路径,其实log4j的FileAppender本身就有这样的机制,如:log4j.appender.logfile.File=${WORKDIR}/logs/app.log 其中“${...
tomcat下的log4j日志配置,给tomcat配置log4j有好几种方法,我知道的有: 一、tomcat级别的统一日志管理 二、每个webapp分别配置log4j
log4j配置文件以及配置文件说明 包里有一个log4j配置文件 和一个配置详解
log4j详细配置说明
主要讲述log4j的简介,以及log4j的配置和在实际应用的使用。如果您不知道如何配置log4j,那么这本书将对您有很大的帮助。
log4j配置的详细说明!对常用属性进行了细致的解释!适合初学者!
完整的log4j配置文件
Log4j2学习笔记,引入log4j2的依赖-log4j2.xml配置模板-application.properties文件配置-使用
Log4j配置详解 特别清晰,大家可以下载来参考学习,有问题可以反馈
log4j详解,log4j详细配置说明手册
概述了log4j的基本配置信息。很适合初学者学习log4j的配置使用。
log4j配置文件例子,可以让你轻松配置log4j