`
风过无声
  • 浏览: 94956 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

SLF4J-migrator

 
阅读更多

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

参考资料

http://www.slf4j.org/migrator.html

  • 大小: 16.8 KB
分享到:
评论

相关推荐

    slf4j-migrator.jar.zip

    4. **配置文件处理**:除了源代码,Migrator还可能处理与特定日志框架相关的配置文件,例如Log4j的log4j.properties或log4j.xml,将其转换为适合SLF4J的配置格式。 **SLF4J的主要优点:** 1. **灵活性**:SLF4J允许...

    slf4j-migrator-1.6.0.jar.zip

    SLF4J-Migrator工具是SLF4J项目的一部分,它设计用来帮助开发者将他们的应用从使用其他日志系统(如log4j、java.util.logging等)迁移到SLF4J。这个`slf4j-migrator-1.6.0.jar`文件是该工具的1.6.0版本,它可能包含...

    最新slf4j-1.7.21.zip源码和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

    slf4j-1.7.21所有相关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

    最新slf4j-1.7.25.zip源码和jar包

    该压缩包中包含以下内容: 1、jcl-over-slf4j-1.7.21.jar 2、jcl-over-slf4j-1.7.21-sources.jar 3、jul-to-slf4j-1.7.21.jar 4、jul-to-slf4j-1.7.21-sources.jar 5、log4j-over-slf4j-1.7.21.jar 6、log4j-over-...

    slf4j-1.5.8.rar

    6. `slf4j-migrator-1.5.8.jar`:工具,帮助从其他日志框架迁移到SLF4J。 7. 文档和示例:包括API文档(Javadoc)和使用示例,帮助开发者理解和使用SLF4J。 在使用SLF4J时,需要避免"SLF4J Binding Ambiguity"问题...

    javalog4j源码-SLF4J-Migrator:这是一个Python脚本,可让您将Java源代码中的JakartaCommonsLogg

    log4j源码SLF4J迁移器 这是一个Python脚本,可让您将Java源代码中的Jakarta Commons Logging&Log4j迁移到SLF4J Logging。 运行此迁移器后会发生什么变化? 1.“ import”子句将被SLF4J替换 - import org.apache.log...

    Logback+slf4j【进阶】【实例】.docx

    - 如果项目中有代码直接引用了log4j的API,可以通过SLF4J提供的`slf4j-migrator.jar`工具进行源码迁移。 2. 配置文件实时重载 为了实现配置文件的动态重载,可以在logback.xml中配置`&lt;configuration&gt;`标签的`scan...

    data-migrator

    6. **日志记录**:为了跟踪迁移过程并排查问题,项目可能整合了如Log4j或SLF4J的日志框架,记录迁移过程中的详细信息。 7. **错误处理和回滚机制**:如果在迁移过程中出现错误,工具需要能够识别这些问题,并在必要...

Global site tag (gtag.js) - Google Analytics