Slf4j-migrator

提供:Dev Guides
移動先:案内検索

SLF4J-移行者

Jakarta Commons Logging(JCL)またはlog4jまたはjava.util.logging(JUL)にプロジェクトがあり、これらのプロジェクトをSLF4Jに変換する場合は、SLF4Jディストリビューションで提供される移行ツールを使用して行うことができます。

移行者

SLF4J Migratorの実行

SLF4Jは単純な単一のjarファイル(slf4j-migrator.jar)であり、java –jarコマンドを使用して実行できます。

これを実行するには、コマンドプロンプトで、このjarファイルがあるディレクトリを参照し、次のコマンドを実行します。

java -jar slf4j-migrator-1.8.0-beta2.jar
Starting SLF4J Migrator

これにより移行が開始され、スタンドアロンJavaアプリケーションが次のように表示されます-

移行プロジェクト

ウィンドウで指定されているように、実行する移行のタイプを確認し、プロジェクトディレクトリを選択して、[プロジェクトをSLF4Jに移行]ボタンをクリックする必要があります。

このツールは、指定したソースファイルに移動し、インポート行やロガー宣言を現在のロギングフレームワークからSLF4jに変更するなどの簡単な変更を実行します。

たとえば、次のように、単一のファイルを持つEclipseのサンプル* log4j(2)*プロジェクトがあるとします-

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に移行するには、ラジオボタン *log4jからslf4j をチェックし、プロジェクトのディレクトリを選択し、 Exit をクリックして移行する必要があります。

プロジェクトのディレクトリ

移行者は上記のコードを次のように変更しました。 ここでimportおよびloggerステートメントが変更されているのを観察した場合。

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は、Stringタイプ以外のメッセージをサポートしていません。
  • MigratorはFATALレベルをサポートしていません。
  • log4jでの作業中、migratorはPropertyConfiguratorまたはDomConfiguratorへの呼び出しを移行しません。