SLF4J-移行者
Jakarta Commons Logging(JCL)、log4j、またはjava.util.logging(JUL)にプロジェクトがあり、これらのプロジェクトをSLF4Jに変換する場合は、SLF4Jディストリビューションで提供されている移行ツールを使用して変換できます。
SLF4JMigratorの実行
SLF4Jは単純な単一のjarファイル(slf4j-migrator.jar)であり、java –jarコマンドを使用して実行できます。
これを実行するには、コマンドプロンプトで、このjarファイルがあるディレクトリを参照し、次のコマンドを実行します。
java -jar slf4j-migrator-1.8.0-beta2.jar
Starting SLF4J Migrator
これにより移行が開始され、スタンドアロンのJavaアプリケーションが次のように表示されます。
ウィンドウで指定されているように、実行する移行のタイプを確認し、プロジェクトディレクトリを選択して、[プロジェクトをSLF4Jに移行]ボタンをクリックする必要があります。
このツールは、提供されたソースファイルに移動し、インポート行やロガー宣言を現在のログフレームワークからSLF4jに変更するなどの簡単な変更を実行します。
例
たとえば、サンプルがあるとしましょう log4j(2) 次のように単一のファイルでEclipseでプロジェクトします-
import org.apache.log4j.Logger;
import java.io.*;
import java.sql.SQLException;
import java.util.*;
public class Sample {
/* Get actual class name to be printed on */
static Logger log = Logger.getLogger(Sample.class.getName());
public static void main(String[] args)throws IOException,SQLException {
log.debug("Hello this is a debug message");
log.info("Hello this is an info message");
}
}
サンプルを移行するには log4j(2) slf4jにプロジェクトし、ラジオボタンをチェックする必要があります from log4j to slf4j プロジェクトのディレクトリを選択して、 Exit 移行します。
移行者は上記のコードを次のように変更しました。ここで、インポートステートメントとロガーステートメントが変更されていることを確認します。
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.*;
import java.sql.SQLException;
import java.util.*;
public class Sample {
static Logger log = LoggerFactory.getLogger(Sample.class.getName());
public static void main(String[] args)throws IOException,SQLException {
log.debug("Hello this is a debug message");
log.info("Hello this is an info message");
}
}
あなたはすでに持っているので log4j.jar プロジェクトに追加する必要があります slf4j-api.jar そして slf4jlog12.jar それを実行するためにプロジェクトにファイルします。
SLF4JMigratorの制限
SLF4J移行の制限は次のとおりです。
Migratorは、ant、maven、ivyなどのビルドスクリプトを自分で変更する必要はありません。
Migratorは、文字列型以外のメッセージをサポートしていません。
MigratorはFATALレベルをサポートしていません。
log4jの操作中、migratorはPropertyConfiguratorまたはDomConfiguratorへの呼び出しを移行しません。