Loading article…
| Apache Commons Logging | |
|---|---|
| 開発者 | アパッチソフトウェア財団 |
| 安定放出 | 1.3.4 / 2024年8月16日 ( 2024-08-16 ) |
| 執筆 | Java |
| オペレーティング·システム | クロスプラットフォーム |
| タイプ | ログツール |
| ライセンス | Apache License 2.0 |
| Webサイト | commons.apache.org/proper/commons-logging/ |
| リポジトリ | github.com/apache/commons-logging |
Apache Commons Logging (以前はJakarta Commons LoggingまたはJCLとして知られていました) は、 Javaベースのログユーティリティであり、ログ記録および他のツールキットのためのプログラミングモデルです。API 、ログ実装、および他のツールのラッパー実装を提供します。[ 1 ] [ 2 ] [ 3 ]
次の表は、Apache Commons Logging のログレベルとメッセージを、重要度の高い順に定義したものです。左の列にはログレベルの指定が、右の列には各ログレベルの簡単な説明が記載されています。
[ 3 ] [ 4 ]
Apache Commons Loggingでは、LogとLogFactoryという2つの基本的な抽象化が使用されています。[ 3 ]
サンプルコードは以下のようになります。
パッケージcom.cascadetg.ch09 ;import org.apache.commons.logging.Log ; import org.apache.commons.logging.LogFactory ; import org.apache.commons.logging.impl.Jdk14Logger ;public class LogGenerator { // このクラスのインスタンスをログジェネレータに渡すことに注意してください。 // これにより、このクラスによって生成されたメッセージを検索できます。 private static Log log = LogFactory . getLog ( LogGenerator . class );public static void configJDKLogger () { try { (( Jdk14Logger ) log ). getLogger (). setLevel ( java . util . logging . Level . ALL ); (( Jdk14Logger ) log ). getLogger (). addHandler ( ( java . util . logging . FileHandler ) Class . forName ( "java.util.logging.FileHandler" ) . newInstance ());System.out.println ( "JDK 1.4 ファイルハンドラを追加しました" ) ; } catch ( Exception e ) { System.out.println ( " JDK 1.4ロギングをロードできませんでした。" ) ; e.printStackTrace ( ) ; } }public static void main ( String [] args ) { configJDKLogger (); System . setErr ( System . out );System.out.println ( ) ; System.out.println ( "テスト致命的ログ" ) ;try { String foo = null ; int x = 0 / ( new Integer ( foo )). intValue ( ) ; } catch ( Exception e ) { log.fatal ( e.getMessage ( ), e ) ; }System.out.println ( ) ; System.out.println ( "テストエラーログ" ) ;try { Object foo = null ; foo.toString ( ) ; } catch ( Exception e ) { log.error ( e.getMessage ( ) , e ) ; }System.out.println (); System.out.println ( "テスト警告ログ" ) ; try { Class.forName ( " com.cascadetg.NonexistentClass" ) ; } catch ( Exception e ) { log.warn ( "存在しないクラスが見つかりません!" ) ; }System.out.println ( ) ; System.out.println ( "テスト情報ログ" ) ;log.info ( "アプリを起動しています!" ) ; log.info ( "アプリを終了します!" ) ;System.out.println ( ) ; System.out.println ( "テストデバッグログ" ) ;if ( 1 > 2 ) { log.debug ( " 1 > 2 は true と評価されました" ) ; if ( 10 % 2 == 0 ) log.debug ( " 10 % 2は 0 です" ); else log.debug ( "10 % 2 は 0 ではありません" ) ; } else { log.debug ( "1 > 2はfalse と評価されました" ); }System.out.println ( ) ; System.out.println ( "テストトレースログ" ) ;log.trace ( "trace メソッドを呼び出しています。" ) ; log.trace ( " trace メソッドを呼び出しています。" ) ; log.trace ( " traceメソッドを呼び出しています。" ) ; log.trace ( "traceメソッドを呼び出しています。" ) ;System.out.println ( ) ; System.out.println ( "ログテスト完了。" ) ; } }[ 4 ]