选择使用SLF4j + Logback后,像Spring等还未使用SLF4j作为日志接口的第三方类库和工具,不能共享Logback做为底层日志工具,通过以下对JCL的扩展 则可达到使用Logback的目的:
package org.apache.commons.logging.impl.ext;
import java.io.Serializable;
import org.apache.commons.logging.Log;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* @author inc062805
*
* 该类是commons-loggin 与 slf4j的桥接类
*/
public class LogbackLogger implements Log, Serializable {
//
private static final long serialVersionUID = -5610674106929984260L;
//
private transient Logger logger = null;
private String name = null;
public LogbackLogger() {
}
public LogbackLogger(String name) {
this.name = name;
logger = getLogger();
}
/**
* Return the native Logger instance we are using.
*/
public Logger getLogger() {
if (logger == null) {
logger = LoggerFactory.getLogger(name);
}
return logger;
}
public void debug(Object msg) {
getLogger().debug(msg.toString());
}
public void debug(Object msg, Throwable ex) {
getLogger().debug(msg.toString(), ex);
}
public void error(Object msg) {
getLogger().error(msg.toString());
}
public void error(Object msg, Throwable ex) {
getLogger().error(msg.toString(), ex);
}
public void fatal(Object msg) {
error(msg);
}
public void fatal(Object msg, Throwable ex) {
error(msg, ex);
}
public void info(Object msg) {
getLogger().info(msg.toString());
}
public void info(Object msg, Throwable ex) {
getLogger().info(msg.toString(), ex);
}
public void trace(Object msg) {
getLogger().trace(msg.toString());
}
public void trace(Object msg, Throwable ex) {
getLogger().trace(msg.toString(), ex);
}
public void warn(Object msg) {
getLogger().warn(msg.toString());
}
public void warn(Object msg, Throwable ex) {
getLogger().warn(msg.toString(), ex);
}
public boolean isDebugEnabled() {
return getLogger().isDebugEnabled();
}
public boolean isErrorEnabled() {
return getLogger().isErrorEnabled();
}
public boolean isFatalEnabled() {
return getLogger().isErrorEnabled();
}
public boolean isInfoEnabled() {
return getLogger().isInfoEnabled();
}
public boolean isTraceEnabled() {
return getLogger().isTraceEnabled();
}
public boolean isWarnEnabled() {
return getLogger().isWarnEnabled();
}
}
你也可以从附件中下载以上类文件。
分享到:
相关推荐
`jcl-over-slf4j-1.6.0.jar`是SLF4J提供的一个桥接包,它的主要作用是将JCL的日志调用透明地重定向到SLF4J。这样做的好处是,即使项目中还存在依赖于JCL的库,也可以通过这个桥接包使它们的日志输出通过SLF4J来控制...
所谓的桥接器就是一个假的日志实现工具,比如当你把 jcl-over-slf4j.jar 放到 CLASS_PATH 时,即使某个组件原本是通过 JCL 输出日志的,现在却会被 jcl-over-slf4j “骗到”SLF4J 里,然后 SLF4J 又会根据绑定器把...
开发工具 commons-fileupload-1.3.2开发工具 commons-fileupload-1.3.2开发工具 commons-fileupload-1.3.2开发工具 commons-fileupload-1.3.2开发工具 commons-fileupload-1.3.2开发工具 commons-fileupload-1.3.2...
本主题将详细解析标题和描述中提及的三个核心库:`commons-dbcp-1.2.1.jar`、`commons-pool-1.4.jar`以及`commons-collections-3.2.jar`,它们如何协同工作以提供高效的数据库连接管理服务。 1. **Apache Commons ...
我发现几乎所有的Java开源项目都会用到Log4j,但我同时发现,所有用到Log4j的项目一般也同时会用到commons-loggin。我想,大家都不希望自己的项目与Log4j绑定的太紧密吧。另外一个我能想到的“同时使用commons-...
赠送jar包:commons-collections4-4.1.jar; 赠送原API文档:commons-collections4-4.1-javadoc.jar; 赠送源代码:commons-collections4-4.1-sources.jar; 赠送Maven依赖信息文件:commons-collections4-4.1.pom;...
不过,相比SLF4J,Commons Logging在某些方面存在一些局限性,如性能问题和类加载器问题。尽管如此,它曾是许多开源项目的标准日志接口。 **两者之间的关系和选择** SLF4J通常被认为是比Commons Logging更现代、更...
commons-collections-20040616.jar, commons-collections-3.2-osgi.jar, commons-collections-3.2-sources.jar, commons-collections-3.2.1.jar, commons-collections-3.2.2-javadoc....commons-collections4-4.1.jar
commons-logging-1.0-javadoc.jar, commons-logging-1.0.1-javadoc.jar, commons-logging-1.0.1.jar, commons-logging-1.0.2-javadoc.jar, commons-logging-1.0.2.jar, commons-logging-1.0.3-javadoc.jar, commons-...
赠送jar包:commons-collections4-4.4.jar; 赠送原API文档:commons-collections4-4.4-javadoc.jar; 赠送源代码:commons-collections4-4.4-sources.jar; 赠送Maven依赖信息文件:commons-collections4-4.4.pom;...
这里提到的三个JAR文件——`commons-beanutils.jar`、`commons-collections-3.1.jar`和`commons-pool-1.2.jar`,都是Apache Commons项目的一部分,分别涉及Bean操作、集合操作和对象池化。 **1. `commons-beanutils...
赠送jar包:commons-net-3.8.0.jar; 赠送原API文档:commons-net-3.8.0-javadoc.jar; 赠送源代码:commons-net-3.8.0-sources.jar; 赠送Maven依赖信息文件:commons-net-3.8.0.pom; 包含翻译后的API文档:...
antlr-2.7.6.jar; c3p0-0.9.1.jar; cglib-2.2.jar; commons-collections-3.1.jar; commons-lang-2.3.jar; dom4j-1.6.1.jar; ehcache-1.2.3.jar; ...
《Commons-Logging + Log4j 入门...总之,Commons-Logging与Log4j的组合提供了强大且灵活的日志解决方案,能够满足各种规模和类型的Java应用的需求。正确理解和使用这两个工具,将大大提升你的开发效率和问题排查能力。
赠送jar包:commons-collections4-4.4.jar; 赠送原API文档:commons-collections4-4.4-javadoc.jar; 赠送源代码:commons-collections4-4.4-sources.jar; 赠送Maven依赖信息文件:commons-collections4-4.4.pom;...
3. **Apache Commons Collections4** - `commons-collections4-4.1.jar` 这是Commons Collections的一个新版本,对原有的API进行了优化和改进。主要改进包括: - 与Java 5及更高版本的兼容性:使用泛型、枚举和可...
在Java开发中,上传文件是一项常见的任务,而`commons-fileupload-1.3.3.jar`和`commons-io-2.6.jar`是Apache Commons项目中的两个重要库,专门用于处理HTTP请求中的文件上传功能。这两个库为开发者提供了便捷、高效...
开发工具 commons-dbcp2-2.1.1开发工具 commons-dbcp2-2.1.1开发工具 commons-dbcp2-2.1.1开发工具 commons-dbcp2-2.1.1开发工具 commons-dbcp2-2.1.1开发工具 commons-dbcp2-2.1.1开发工具 commons-dbcp2-2.1.1开发...