クラス XLogger


  • public class XLogger
    extends Object
    XLoggerは、Throwable を引数に取るwarningと、Level 600 の debug メソッドを 持つ、Logger の拡張クラスです。 ここでは、継承するのではなく、委譲で、最低限のメソッドだけに対応しています。 (LogManager とか、色々とややこしそうなので、調査する暇が無い) WARNING(900) → INFO(800) → CONFIG(700) → XXXX(600) → FINE(500) → ALL(Integer.MIN_VALUE) となっていますが、FINE では、多すぎ、INFO は、通常使用、間に、DEBUG的な、 ロギングが欲しい場合に使用します。 CONFIG を使いたいところですが、「CONFIGは静的な構成メッセージのメッセージ・レベルです。」と JavaDocにわざわざ、書かれていることから、使用を避けます。
    変更履歴:
    7.0.0.0 (2017/07/07) 新規作成
    バージョン
    7.0
    作成者
    Kazuhiko Hasegawa
    導入されたバージョン:
    JDK1.8,
    • メソッドの詳細

      • getLogger

        public static XLogger getLogger​(String name)
        名前を指定して、XLoggerオブジェクトを作成します。
        パラメータ:
        name - ロガーの名前。通常は、クラス.class.getName() を渡せばよいです。
        戻り値:
        XLoggerオブジェクト
        変更履歴:
        7.2.1.0 (2020/03/13) ロガーの名前から、共通部分を削除します。, 7.2.5.0 (2020/06/01) 各クラスで、class.getSimpleName() を渡すようにした。
      • info

        public void info​(Supplier<String> msgSupplier)
        INFO レベルのログをとります。 引数は Supplier のみなので、実行直前まで処理されません。 よって、呼出元では、log level guards する必要はありません。
        パラメータ:
        msgSupplier - 呼び出されると、目的のログ・メッセージを生成する関数
        関連項目:
        Logger.info( Supplier )
        変更履歴:
        7.3.0.0 (2021/01/06) PMD:GuardLogStatement: Logger calls should be surrounded by log level guards.
      • warning

        public void warning​(Supplier<String> msgSupplier)
        WARNING レベルのログをとります。 引数は Supplier のみなので、実行直前まで処理されません。 よって、呼出元では、log level guards する必要はありません。
        パラメータ:
        msgSupplier - 呼び出されると、目的のログ・メッセージを生成する関数
        関連項目:
        Logger.warning( Supplier )
        変更履歴:
        7.3.0.0 (2021/01/06) PMD:GuardLogStatement: Logger calls should be surrounded by log level guards.
      • isWarningEnabled

        public boolean isWarningEnabled()
        WARNING レベルのログが、処理されるか、判定します。 引数が Supplier のみでない場合は、実行前に、log level guards してください。
        戻り値:
        args WARNINGレベルのログを出力する場合は、trueを返します。
        変更履歴:
        7.3.0.0 (2021/01/06) 新規追加
      • warning

        public void warning​(String id,
                            Object... args)
        WARNING レベルのログをとります。 引数処理が発生しますので、呼出元で、log level guards してください。 if( XLogger.isWarningEnabled() ) { XLogger.warning( id,args1,args2,… ); }
        パラメータ:
        id - リソースのキーとなるID。
        args - リソースを、MessageFormat.format で加工する場合の引数。
        関連項目:
        Logger.warning( Supplier )
        変更履歴:
        7.2.5.0 (2020/06/01) メソッド追加。
      • warning

        public void warning​(Throwable th,
                            Supplier<String> msgSupplier)
        WARNING レベルのログをとります。 これは、Throwable を引数に取る拡張されたメソッドです。 引数処理が発生しますので、呼出元で、log level guards してください。
        パラメータ:
        th - ログ・メッセージに関連したThrowable。
        msgSupplier - 呼び出されると、目的のログ・メッセージを生成する関数
        関連項目:
        Logger.log( Level,Throwable,Supplier )
      • warning

        public void warning​(Throwable th,
                            String id,
                            Object... args)
        WARNING レベルのログをとります。 これは、Throwable を引数に取る拡張されたメソッドです。 引数処理が発生しますので、呼出元で、log level guards してください。
        パラメータ:
        th - 発生元のThrowable( null値は許容されます )
        id - リソースのキーとなるID。
        args - リソースを、MessageFormat.format で加工する場合の引数。
        関連項目:
        Logger.log( Level,Throwable,Supplier )
        変更履歴:
        7.2.5.0 (2020/06/01) メソッド追加。
      • debug

        public void debug​(Supplier<String> msgSupplier)
        600 レベルのログをとります。 Supplierを引数に、Level = 600 のログをとります。 引数は Supplier のみなので、実行直前まで処理されません。 よって、呼出元では、log level guards する必要はありません。
        パラメータ:
        msgSupplier - 呼び出されると、目的のログ・メッセージを生成する関数
        関連項目:
        Logger.log( Level,Supplier )
        変更履歴:
        7.3.0.0 (2021/01/06) PMD:GuardLogStatement: Logger calls should be surrounded by log level guards.
      • isDebugEnabled

        public boolean isDebugEnabled()
        WARNING レベルのログが、処理されるか、判定します。 引数が Supplier のみでない場合は、実行前に、log level guards してください。
        戻り値:
        args WARNINGレベルのログを出力する場合は、trueを返します。
        変更履歴:
        7.3.0.0 (2021/01/06) 新規追加
      • debug

        public void debug​(int num,
                          Function<Integer,​String> msgFunction)
        数値の変数を受け取って表示する、600 レベルのログをとります。 Supplierを引数に、Level = 600 のログをとります。 関数型インタフェースは引数にfinal変数しか使えませんが、数値は大抵可変なので final化せずに、引数として渡すことが出来るようにします。 引数処理が発生しますので、呼出元で、log level guards してください。
        パラメータ:
        num - 数値引数
        msgFunction - 呼び出されると、目的のログ・メッセージを生成する関数
        関連項目:
        Logger.log( Level,Supplier )
        変更履歴:
        7.2.5.0 (2020/06/01) メソッド追加。