commons-logging和log4j 两个日志组件<br>
一、简介<br>
作用:commons-logging和log4j 是用来记录日志文件的一套api,apache基金会开发的。log4j是专门<br>处理日志文件的。不需要commons-logging,log4j也可以运行。<br>
commons-logging用来管理log4j,commons-logging也可以配合别的日志系统一起使用。<br>
commons-logging没有log4j也可以单独实现日志,但是功能比较简单。<br>
它自身的日志功能平常弱(只有一个简单的SimpleLog?),所以一般不会单独使用它<br>
一般来说,我们是两者配使用的。<br>
提供一个统一的日志接口,简单了操作,同时避免项目与某个日志实现系统紧密耦合。<br>
二、下载<br>
下载:百度中直接输入“log4j下载”可被指引到官网去下载。当前版本是1.2<br>
log4j: http://logging.apache.org/log4j/1.2/download.html<br>
commons-logging http://commons.apache.org/proper/commons-logging/<br>
三、引入<br>
在项目中添加外部jar包,把log4j引入到项目中来。<br>
复制到web-inf/lib目录下,然后再eclipse中刷新一下文件夹。<br>
四、使用<br>
详细参考<br>
稍微简单一些的<br>
http://blog.chinaunix.net/uid-26746984-id-3379937.html<br>
稍微详细一些的<br>
http://blog.csdn.net/jimmee/article/details/2168452<br>
1.配置文件(可以有两种之一,.properties文件,.xml文件)<br>
log4j.properties,放到src目录下,没有格式,容易出错,但是看起来简单一些<br>
DEBUG、INFO、WARN、ERROR、FATAL 日志级别<br>
A1,R,信息输出的目的地。<br>
log4j.rootLogger=info,A1,R<br>
log4j.appender.A1=org.apache.log4j.ConsoleAppender<br>
log4j.appender.A1.Threshold=debug<br>
log4j.appender.A1.target=System.out<br>
log4j.appender.A1.layout=org.apache.log4j.PatternLayout<br>
log4j.appender.A1.layout.ConversionPattern=%c -%m%n<br>
log4j.appender.R=org.apache.log4j.FileAppender<br>
log4j.appender.R.Threshold=error<br>
log4j.appender.R.ImmediateFlush=true<br>
log4j.appender.R.File=../logs/HelloLog4j.log<br>
log4j.appender.R.Append=true<br>
log4j.appender.R.layout=org.apache.log4j.PatternLayout<br>
log4j.appender.R.layout.ConversionPattern=%c -%m%n<br>
log4j.xml,放到lib目录下,有格式约束,不容易出错,但是看起来复杂一些。<br>
2.导入包<br>
import org.apache.log4j.*;<br>
//import org.apache.commons.logging. * ; <br>
3.获取日志对象<br>
public static Logger logger=LogManager.getLogger(LogListener.class);<br>
public static Logger logger=LogManager.getLogger("javastudy.LogListener");<br>
//private static Log logger = LogFactory.getLog(YouClassName. class )<br>
4.日志级别(根据问题的严重程度)<br>
DEBUG、INFO、WARN、ERROR、FATAL<br>
logger.error("Did it again!"); <br>
logger.info("我是info信息"); <br>
logger.debug("我是debug信息");<br>
logger.warn("我是warn信息");<br>
logger.fatal("我是fatal信息");<br>
logger.log(Level.DEBUG, "我是debug信息"); <br>