1 替换jar包
所需jar包:
logback-access-0.9.24.jar
logback-classic-0.9.24.jar
logback-core-0.9.24.jar
slf4j-api-1.6.1.jar
jcl-over-slf4j-1.6.1.jar(此jar用于兼容 Spring等依赖包中的org.apache.commons.logging.*)
需要删除的jar包:
log4j-1.2.17.jar
slf4j-log4j12-1.7.2.jar(如果有,也删除)
2 替换日志配置文件
log4j 框架需要log4j.properties,而logback 的配置文件是logback.xml格式的。如果你 的配置文件是log4j.properties ,那么恭喜你,很简单,直接到以下地址转换:
log4j.properties to logback.xml Translator (http://logback.qos.ch/translator/)即可。如果不是,那么要自己写logback.xml配置了。然后把logback.xml放到相应的读取路径下,删掉log4j配置文件即可。
3 代码转换
如果用的是org.apache.commons.logging.* 恭喜你,可以完全不用更改动代码,即可完成迁移(参考jcl-over-slf4j-1.6.1.jar)。
如果你用的是org.apache.log4j.Logger,那么就要修改代码:
1) import org.apache.log4j.Logger; importorg.slf4j.Logger; import org.slf4j.LoggerFactory;
2) private static Logger LOG =Logger.getLogger(ServerRunner.class); private static Logger LOG =LoggerFactory.getLogger(ServerRunner.class);
3) 如果你对log4j有过封装,那么只替换一个地方即可;如果没有的话,恐怕每个输出日志的类文件都要改动了。工作量很大,推荐一个文本替换工 具:SearchAndReplace。同时建议对logback封装一层,方便维护
4 测试类
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class LogbackDemo {
private static Logger log = LoggerFactory.getLogger(LogbackDemo.class);
public static void main(String[] args) {
log.trace("======trace");
log.debug("======debug");
log.info("======info");
log.warn("======warn");
log.error("======error");
}
}