commons-logging和slf4j两种日志门面的使用

转:http://blog.csdn.net/zilong0536/article/details/53021918


  早期Java项目使用最多的日志门面是commons-logging,log4j是推荐的日志实现库,需要的jar包为commons-logging.jar、log4j.jar。 
  现今java项目推荐的日志门面是slf4j,log4j仍是推荐的日志实现库,需要的jar包为slf4j-api.jar、slf4j-log4j12.jar、log4j.jar,其中绑定包slf4j-log4j12.jar指定了要使用的实现库。 
  commons-logging存在osgi问题,但早期项目多使用其作为日志门面,为保证兼容仍使用其作为日志门面,但通过slf4j的静态绑定技术来加载具体的日志库log4j,需要的jar包为commons-logging.jar、jcl-over-slf4j.jar、slf4j-api.jar、slf4j-log4j12.jar、log4j.jar,其中jcl-over-slf4j.jar将日志的接口重定向到slf4j。

  使用log4j需先将日志的相关信息在属性文件properties或xml文件配置好,剩下的事情就是在项目中的适当位置打日志。

public class LogTest {
    // slf4j接口使用
    // getLogger内调用slf4j-log4j.jar的StaticLoggerBinder类的getLogger,获取对应的log4j
    private static final Logger logger = LoggerFactory.getLogger(LogTest.class);

    // commons-logging接口使用
    // 与slf4j基本一样,一个用Logger,一个用Log
    private static final Log logger = LoggerFactory.getLogger(LogTest.class);

    public static void main(String[] args) {
        logger.trace("trace");
        logger.debug("dubug");
        logger.info("info");
        logger.warn("warn");
        logger.error("error");
    }
}

你可能感兴趣的:(java)