JavaA2Z

KAB-studio > プログラミング > JavaA2Z > Log4jとは

Log4j

日本語 Java用日誌書き
英語 log for Java
ふりがな ろぐふぉーじぇい
フリガナ ログフォージェイ

解説

ロガーのひとつ。
ログを出力するためのライブラリJakartaプロジェクトのひとつ。
ログ出力方法をlog4j.xmlというXMLファイルに記述するため最初は使いづらいが、外部設定ファイルに出力方法や出力書式を全て記述できるため、状況に合わせてプログラムを修正することなく変更できるというメリットがある。また、出力先も豊富で使いやすい。
J2SELoggerクラスに比べて全般的に使いやすいため、本当に簡易な目的以外ではLog4jを使用した方がいいだろう。

参考サイト


(KAB-studioからのおしらせです)

サンプルプログラム(とか)サンプルを別ウィンドウで表示サンプルをクリップボードへコピー(WindowsでIEの場合のみ)

// Sample.java
import org.apache.log4j.Logger;

/**
*   Loggerクラスを使うために、log4j-*.*.*.jarに
*   クラスパスを通してください(*はバージョン番号)。
*   このjarファイルはLog4jをダウンロードして解凍した中の
*   dist/libディレクトリに入っているはずです。
*/

public class Sample
{
    /**
    *   ロガーとして使うフィールド。
    *   このようにクラス名を渡して、1クラス1ロガーにします。
    */
    private static final Logger logger = Logger.getLogger( Sample.class );

    public static void main( String[] args )
    {
        // ログ出力。
        logger.error( "エラー。" );
        // 15:21:51,062 ERROR Sample (Sample.java:22) - エラー。

        // ログの設定は、以下のlog4j.xmlファイルで行います。
    }
}

// log4j.xml
// このファイルはクラスファイル(.classファイル)のあるディレクトリ、
// 通常はbinディレクトリに置いてください。
// ↑このコメントはそのファイル内に書かないようにしてください。
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'>

    <!-- 標準出力に出力するappenderを設定します。 -->
    <appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">    <!-- コンソールに出力。 -->
        <layout class="org.apache.log4j.PatternLayout">    <!-- 文字列で出力フォーマットを設定するクラス。 -->
            <param name="ConversionPattern" value="%d{HH:mm:ss,SSS} %p %C (%F:%L) - %m%n"/>    <!-- 出力フォーマット。詳しくはPatternLayoutクラスのドキュメントを参照。 -->
        </layout>
        <filter class="org.apache.log4j.varia.LevelMatchFilter">    <!-- 出力するログレベルとかを設定。 -->
            <param name="LevelToMatch" value="INFO"/>    
            <param name="AcceptOnMatch" value="true"/>
        </filter>
    </appender>

    <root>
        <priority value ="debug" /> <!-- 全体の出力レベルを設定。 -->
        <appender-ref ref="STDOUT" /> <!-- 上記のappenderのnameを設定。 -->
    </root>

</log4j:configuration>
// Sample.java
import org.apache.log4j.Logger;

/**
*   Loggerクラスを使うために、log4j-*.*.*.jarに
*   クラスパスを通してください(*はバージョン番号)。
*   このjarファイルはLog4jをダウンロードして解凍した中の
*   dist/libディレクトリに入っているはずです。
*/

public class Sample
{
    /**
    *   ロガーとして使うフィールド。
    *   このようにクラス名を渡して、1クラス1ロガーにします。
    */
    private static final Logger logger = Logger.getLogger( Sample.class );

    public static void main( String[] args )
    {
        // ログ出力。
        logger.error( "エラー。" );
        // 15:21:51,062 ERROR Sample (Sample.java:22) - エラー。

        // ログの設定は、以下のlog4j.xmlファイルで行います。
    }
}

// log4j.xml
// このファイルはクラスファイル(.classファイル)のあるディレクトリ、
// 通常はbinディレクトリに置いてください。
// ↑このコメントはそのファイル内に書かないようにしてください。
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'>

    <!-- 標準出力に出力するappenderを設定します。 -->
    <appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">    <!-- コンソールに出力。 -->
        <layout class="org.apache.log4j.PatternLayout">    <!-- 文字列で出力フォーマットを設定するクラス。 -->
            <param name="ConversionPattern" value="%d{HH:mm:ss,SSS} %p %C (%F:%L) - %m%n"/>    <!-- 出力フォーマット。詳しくはPatternLayoutクラスのドキュメントを参照。 -->
        </layout>
        <filter class="org.apache.log4j.varia.LevelMatchFilter">    <!-- 出力するログレベルとかを設定。 -->
            <param name="LevelToMatch" value="INFO"/>    
            <param name="AcceptOnMatch" value="true"/>
        </filter>
    </appender>

    <root>
        <priority value ="debug" /> <!-- 全体の出力レベルを設定。 -->
        <appender-ref ref="STDOUT" /> <!-- 上記のappenderのnameを設定。 -->
    </root>

</log4j:configuration>

この単語を含むページ

「みだし」に含まれているページ

「解説」に含まれているページ

「サンプルプログラムとか」に含まれているページ

はてなブックマーク 詳細を表示 はてなブックマーク ブックマーク数
livedoorクリップ 詳細を表示 livedoorクリップ ブックマーク数
Yahoo!ブックマーク 詳細を表示 users
del.icio.us 登録する RSSに登録
サンプルを別ウィンドウで表示
サンプルをクリップボードへコピー(WindowsでIEの場合のみ)
update:2005/06/25
このページは、Javaプログラミング言語についての用語を網羅した辞書「JavaA2Z」の一ページです。
詳しくは「JavaA2Z」表紙の説明をご覧ください。