`
cnetwei
  • 浏览: 177178 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

commons-loggin 与 slf4j的桥接器

阅读更多

选择使用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();
	}
}

 

你也可以从附件中下载以上类文件。

1
0
分享到:
评论

相关推荐

    jcl-over-slf4j-1.6.0.jar logbank转log4j 日志转换 使用场景 实例

    `jcl-over-slf4j-1.6.0.jar`是SLF4J提供的一个桥接包,它的主要作用是将JCL的日志调用透明地重定向到SLF4J。这样做的好处是,即使项目中还存在依赖于JCL的库,也可以通过这个桥接包使它们的日志输出通过SLF4J来控制...

    jcl-over-slf4j-1.7.25.jar 由于下载次数较多,所需积分上去了,我已下调

    所谓的桥接器就是一个假的日志实现工具,比如当你把 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-fileupload-1.3.2...

    commons-dbcp-1.2.1.jar + commons-pool-1.4.jar + commons-collections-3.2.jar

    本主题将详细解析标题和描述中提及的三个核心库:`commons-dbcp-1.2.1.jar`、`commons-pool-1.4.jar`以及`commons-collections-3.2.jar`,它们如何协同工作以提供高效的数据库连接管理服务。 1. **Apache Commons ...

    commons-logging-1.1.1

    我发现几乎所有的Java开源项目都会用到Log4j,但我同时发现,所有用到Log4j的项目一般也同时会用到commons-loggin。我想,大家都不希望自己的项目与Log4j绑定的太紧密吧。另外一个我能想到的“同时使用commons-...

    commons-collections4-4.1-API文档-中文版.zip

    赠送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在某些方面存在一些局限性,如性能问题和类加载器问题。尽管如此,它曾是许多开源项目的标准日志接口。 **两者之间的关系和选择** SLF4J通常被认为是比Commons Logging更现代、更...

    commons-collections.jar

    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.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-...

    commons-collections4-4.4-API文档-中英对照版.zip

    赠送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;...

    commons-beanutils.jar commons-collections-3.1.jar commons-pool-1.2.jar

    这里提到的三个JAR文件——`commons-beanutils.jar`、`commons-collections-3.1.jar`和`commons-pool-1.2.jar`,都是Apache Commons项目的一部分,分别涉及Bean操作、集合操作和对象池化。 **1. `commons-beanutils...

    commons-net-3.8.0-API文档-中文版.zip

    赠送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文档:...

    hibernate3.3.2+commons-lang2.3+slf4j1.5.8+ojdbc14+log4j1.2.16

    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; ...

    (zt)Commons-logging + Log4j 入门指南

    《Commons-Logging + Log4j 入门...总之,Commons-Logging与Log4j的组合提供了强大且灵活的日志解决方案,能够满足各种规模和类型的Java应用的需求。正确理解和使用这两个工具,将大大提升你的开发效率和问题排查能力。

    commons-collections4-4.4-API文档-中文版.zip

    赠送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;...

    commons-beanutils、commons-collections、commons-collections等常用jar 包下载

    3. **Apache Commons Collections4** - `commons-collections4-4.1.jar` 这是Commons Collections的一个新版本,对原有的API进行了优化和改进。主要改进包括: - 与Java 5及更高版本的兼容性:使用泛型、枚举和可...

    commons-fileupload-1.3.3.jar和commons-io-2.6.jar

    在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开发工具 commons-dbcp2-2.1.1开发...

Global site tag (gtag.js) - Google Analytics