JAVA工具包,能自动将源代码中的日志系统commons-logging,log4j,java.util.logging迁移到slf4j上。
实例,将日志系统由commons-logging迁移到slf4j。
1)commons-logging使用及配置
-pom.xml
<dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>1.1.3</version> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency>
-log4j.xml
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> <appender name="console" class="org.apache.log4j.ConsoleAppender"> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="[%d{yyyy-MM-dd HH:mm:ss,SSS\} %-5p] [%t] %c{2\} - %m%n" /> </layout> </appender> <root> <priority value="debug"/> <appender-ref ref="console"/> </root> </log4j:configuration>
-MigratorTest.java
package com.siyuan.test.slf4j.migrator; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; public class MigratorTest { public static void main(String[] args) { Log logger = LogFactory.getLog(MigratorTest.class); logger.debug("migrator test for slf4j"); } }
-运行结果
[2015-06-02 07:25:23,977 DEBUG] [main] migrator.MigratorTest - migrator test for slf4j
2)转化为slf4j
-下载运行slf4j-migrator
-更换pom.xml中的日志系统依赖
<dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.12</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1.1.3</version> </dependency>
-将log4j.xml更换为logback-test.xml
<?xml version="1.0" encoding="UTF-8"?> <configuration> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>%date %level [%thread] %logger{10} [%file:%line] %msg%n</pattern> </encoder> </appender> <root level="debug"> <appender-ref ref="STDOUT" /> </root> </configuration>
-运行结果
2015-06-02 07:29:54,819 DEBUG [main] c.s.t.s.m.MigratorTest [MigratorTest.java:10] migrator test for slf4j
限制
1)打包脚本需要手动修改
2)只支持String类型的日志信息,其它对象需要手动调用toString方法
3)不支持FATAL级别
4)假如调用某个方法时使用了多个logger参数,将无法保证完全转换
限制-Log4j
Log4j特有的API将需要手动转换,e.g. NDC、PropertyConfigurator、DomConfigurator
限制-JUL
略
参考资料
相关推荐
SLF4J-Migrator是一个实用工具,用于帮助开发者从其他日志框架迁移到SLF4J。这个压缩包`slf4j-migrator.jar.zip`包含了SLF4J-Migrator的可执行JAR文件以及相关的授权文件。 **SLF4J-Migrator的核心功能:** 1. **...
SLF4J-Migrator工具是SLF4J项目的一部分,它设计用来帮助开发者将他们的应用从使用其他日志系统(如log4j、java.util.logging等)迁移到SLF4J。这个`slf4j-migrator-1.6.0.jar`文件是该工具的1.6.0版本,它可能包含...
该压缩包中包含以下内容: ...21、slf4j-migrator-1.7.21.jar 22、slf4j-nop-1.7.21.jar 23、slf4j-nop-1.7.21-sources.jar 24、slf4j-simple-1.7.21.jar 25、slf4j-simple-1.7.21-sources.jar
该压缩包中包含以下内容...log4j12-1.7.21-sources.jar 21、slf4j-migrator-1.7.21.jar 22、slf4j-nop-1.7.21.jar 23、slf4j-nop-1.7.21-sources.jar 24、slf4j-simple-1.7.21.jar 25、slf4j-simple-1.7.21-sources.jar
NoClassDefFoundError: Failed resolution of: Lorg/...21、slf4j-migrator-1.7.21.jar 22、slf4j-nop-1.7.21.jar 23、slf4j-nop-1.7.21-sources.jar 24、slf4j-simple-1.7.21.jar 25、slf4j-simple-1.7.21-sources.jar
slf4j-api-1.6.0.jar,slf4j-jdk14-1.6.0.jar,slf4j-log4j12-1.6.0-rc0.jar,slf4j-nop-1.6.0.jar,slf4j-simple-1.6.0.jar
赠送jar包:slf4j-api-1.7.30.jar; 赠送原API文档:slf4j-api-1.7.30-javadoc.jar; 赠送源代码:slf4j-api-1.7.30-sources.jar; 赠送Maven依赖信息文件:slf4j-api-1.7.30.pom; 包含翻译后的API文档:slf4j-api-...
赠送jar包:log4j-slf4j-impl-2.12.1.jar; 赠送原API文档:log4j-slf4j-impl-2.12.1-javadoc.jar; 赠送源代码:log4j-slf4j-impl-2.12.1-sources.jar; 赠送Maven依赖信息文件:log4j-slf4j-impl-2.12.1.pom; ...
赠送jar包:slf4j-api-1.7.26.jar; 赠送原API文档:slf4j-api-1.7.26-javadoc.jar; 赠送源代码:slf4j-api-1.7.26-sources.jar; 赠送Maven依赖信息文件:slf4j-api-1.7.26.pom; 包含翻译后的API文档:slf4j-api-...
赠送jar包:log4j-to-slf4j-2.17.1.jar; 赠送原API文档:log4j-to-slf4j-2.17.1-javadoc.jar; 赠送源代码:log4j-to-slf4j-2.17.1-sources.jar; 赠送Maven依赖信息文件:log4j-to-slf4j-2.17.1.pom; 包含翻译后...
赠送jar包:log4j-slf4j-impl-2.12.1.jar; 赠送原API文档:log4j-slf4j-impl-2.12.1-javadoc.jar; 赠送源代码:log4j-slf4j-impl-2.12.1-sources.jar; 赠送Maven依赖信息文件:log4j-slf4j-impl-2.12.1.pom; ...
赠送jar包:slf4j-log4j12-1.7.25.jar; 赠送原API文档:slf4j-log4j12-1.7.25-javadoc.jar; 赠送源代码:slf4j-log4j12-1.7.25-sources.jar; 赠送Maven依赖信息文件:slf4j-log4j12-1.7.25.pom; 包含翻译后的API...
赠送jar包:slf4j-api-1.7.32.jar; 赠送原API文档:slf4j-api-1.7.32-javadoc.jar; 赠送源代码:slf4j-api-1.7.32-sources.jar; 赠送Maven依赖信息文件:slf4j-api-1.7.32.pom; 包含翻译后的API文档:slf4j-api-...
赠送jar包:slf4j-api-1.7.30.jar; 赠送原API文档:slf4j-api-1.7.30-javadoc.jar; 赠送源代码:slf4j-api-1.7.30-sources.jar; 赠送Maven依赖信息文件:slf4j-api-1.7.30.pom; 包含翻译后的API文档:slf4j-api-...
SLF4J(Simple Logging Facade for Java)是Java中一个重要的日志抽象层,它为各种日志框架,如Log4j、java.util.logging、Logback等提供了一个统一的接口。通过SLF4J,开发者可以在不修改代码的情况下更换底层的...
赠送jar包:log4j-over-slf4j-1.7.33.jar; 赠送原API文档:log4j-over-slf4j-1.7.33-javadoc.jar; 赠送源代码:log4j-over-slf4j-1.7.33-sources.jar; 赠送Maven依赖信息文件:log4j-over-slf4j-1.7.33.pom; ...
在给定的标题和描述中,我们看到了两个关键的日志框架——`log4j`和`SLF4J(Simple Logging Facade for Java)`,以及它们之间的桥接器`slf4j-log4j12`。这些组件是Java日志处理的常用工具,让我们详细了解一下它们...
赠送jar包:slf4j-log4j12-1.6.1.jar; 赠送原API文档:slf4j-log4j12-1.6.1-javadoc.jar; 赠送源代码:slf4j-log4j12-1.6.1-sources.jar; 赠送Maven依赖信息文件:slf4j-log4j12-1.6.1.pom; 包含翻译后的API文档...
赠送jar包:slf4j-api-1.8.0-alpha2.jar; 赠送原API文档:slf4j-api-1.8.0-alpha2-javadoc.jar; 赠送源代码:slf4j-api-1.8.0-alpha2-sources.jar; 赠送Maven依赖信息文件:slf4j-api-1.8.0-alpha2.pom; 包含...
赠送jar包:log4j-slf4j-impl-2.17.1.jar; 赠送原API文档:log4j-slf4j-impl-2.17.1-javadoc.jar; 赠送源代码:log4j-slf4j-impl-2.17.1-sources.jar; 赠送Maven依赖信息文件:log4j-slf4j-impl-2.17.1.pom; ...