原文链接http://www.blogjava.net/chhbjh/archive/2005/09/07/12305.html
简介:JCL提供一个日志接口,同时兼顾轻量级和不依赖于具体的日志实现工具。
入门:JCL有两个基本的抽象类:Log(基本纪录器)和LogFactory(负责创建Log实例)。JCL寻找日志工具的过程如下:
一〉 寻找当前的factory中名叫org.apache. commons.logging.Log配置属性的值。
二〉 寻找系统属性中名叫org.apache.commons.logging.Log的值。
三〉 如果应用程序的CLASSPATH中有Log4j,这是用相关的包装类(wrapper)类(Log4Jlogger).
四〉 如果应用程序运行在jdk1.4的系统中,使用相关的包装类(JDK1.4logger).
五〉 使用简易日志包装类(SimpleLog).
使用logging:
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
public class MyClass{
private static Log log=LogFactory.getLog(this.CLASS);
…………………………
}
#不知道为什么这里我只能这样
#private static Log log = LogFactory.getLog(Test.class);
#Test是我的类名
这些日志信息被送往日志器,如上例中的log。
Log接口中的方法:
定义日志信息的级别,按严重性有:
log.fatal(Object message);
log.fatal(Object message,Throwable t);
log.error(Object message);
log.error(Object message,Throwable t);
log.warn(Object message);
log.warn(Object message,Throwable t);
log.info(Object message);
log.info(Object message,Throwable t);
log.debug(Object message);
log.debug(Object message,Throwable t);
log.trace(Object message);
log.trace(Object message,Throwable t);
fatal:非常严重的错误,导致系统终止。期望这类信息被立即显示到状态控制台上。
Error:其他运行期错误或不是预期的条件。期望这类信息被立即显示到状态控制台上。
Warn:使用了不赞成使用的API、非常拙劣的使用了API、‘几乎就是错误’其他运行期不合需要和不合预期的状态(但没必要将其称为错误)。期望这类信息被立即显示到状态控制台上。
Info:运行期产生的有意义的事件。期望这类信息被立即显示到状态控制台上。
Debug:系统流程中的细节信息。期望这类信息仅被写入日志文件中。
Trace:更加细节的信息。期望这类信息仅被写入日志文件中。
用于代码保护(表示如果启用了某种日志信息级别):
log.isFatalEnabled();
log.isErrorEnabled();
log.isWarnEnabled();
log.isInfoEnabled();
log.isDebugEnabled();
log.isTraceEnabled();
通常情况下,记录器的级别不低于info,通常情况下debug信息不应被写入log文件中。
工作机理:
一〉 生命周期:JCL LogFactory必须实现建立/断开到日志工具的连接,实例化/初始化/解构一个日志工具。
二〉 异常处理:JCL Log接口没有实现任何异常处理,对接口的实现必须捕获并处理异常。
记录器的设置:log4j时JCL的首选记录器:
参数 | 值域 | 默认值 | 说明 |
Log4j.configuration | Log4j.properties | 指定配置文件的名字 | |
Log4j.rootCategory | Log4j.appender..Threshold | 设定根记录器级别 | |
Log4j.logger. | ebug,info,trace,error,fatal | 设定这个记录器的级别 | |
Log4j.appender..Threshold | priority | 指定纪录设备的最低级别(console,files,sockets,others) |
相关推荐
Jakarta Commons Logging (JCL)提供的是一个日志(Log)接口(interface),同时兼顾轻量级和不依赖于具体的日志实现工具。它提供给中间件/日志工具开发者一个简单的日志操作抽象,允许程序开发人员使用不同的具体日志...
Jakarta Commons Logging (JCL)提供的是一个日志(Log)接口(interface),同时兼顾轻量级和不依赖于具体的日志实现工具。
并且,Apache为了让众多的日志工具有一个相同操作方式,还实现做了一个通用日志工具包:commons-logging,也称Jakarta Commons Logging (JCL)。 commons-logging是为那些需要建立在不同环境下使用不同日志架构的组件...
Jakarta Commons-logging(JCL)是apache最早提供的日志的门面接口。提供简单的日志实现以及日志解耦功能。
Jakarta Commons Logging (JCL)提供的是一个日志(Log)接口(interface),同时兼顾轻量级和不依赖于具体的日志实现工具。它提供给中间件/日志工具开发者一个简单的日志操作抽象,允许程序开发人员使用不同的具体日志...
为了解决这个问题,Apache Commons Logging (之前叫 Jakarta Commons Logging,JCL)粉墨登场,JCL 只提供 log 接口,具体的实现则在运行时动态寻找。这样一来组件开发者只需要针对 JCL 接口开发,而调用组件的应用...
common logjar和httpclient jar用于java服务器开发Jakarta Commons Logging (JCL)提供的是一个日志(Log)接口(interface),同时兼顾轻量级和不依赖于具体的日志实现工具。它提供给中间件/日志工具开发者一个简单的...
然而,随着Java平台的发展,出现了多种日志框架,如JUL(java.util.logging)和JCL(Jakarta Commons Logging),这增加了选择和维护的复杂性。JCL作为一个门面(Facade),提供统一的接口,背后可以接不同的日志...
Jakarta Commons的Bridge记录在Composite-Logging-API上 nz.ac.auckland.composite/composite-logging-jcl/3.2/composite-logging-jcl-3.2.jar
Jakarta Commons的Bridge记录在Composite-Logging-API上 nz.ac.auckland.composite/composite-logging-jcl/3.3/composite-logging-jcl-3.3.jar
2.Binding for Jakarta Commons Logging. This binding will delegate all SLF4J logging to JCL. 3.Binding for Simple implementation, which outputs all events to System.err. Only messages of level INFO and...
composite-logging-jcl.zip,jakarta commons的网桥在复合日志api上的日志记录jakarta commons的网桥在复合日志api上的日志记录
│ Maven__org_junit_platform_junit_platform_commons_1_5_2.xml │ Maven__org_junit_platform_junit_platform_engine_1_5_2.xml │ Maven__org_mockito_mockito_core_3_1_0.xml │ Maven__org_mockito_mockito...