log 4 jとslf 4 jの紹介と違い

3705 ワード


log 4 j簡易入門
package com.cn.fangxin.log4j;

import org.apache.log4j.Logger;

public class HelloLog4j {
    private static final Logger logger = Logger.getLogger(HelloLog4j.class);
    public static void main(String[] args) {
        logger.debug("This is debug message");
        logger.info("This is info message");
        logger.warn("This is warn message");
        logger.error("This is error message");
    }
}

 
 
log 4 jは簡単にlog 4 jを配置する.properties
#レベルを設定できます:debug#debug:debug,info,warn,errorを表示する
#info:info,warn,errorを表示
#warn:warn,errorを表示する
#error:errorのみ表示
#ログの出力レベルはrootLoggerと通常Loggerが設定した最高レベルによって決まります.
 
#log4j.rootLogger=debug,appender1
#log4j.rootLogger=info,appender1
log4j.rootLogger=warn,appender1
#log4j.rootLogger=error,appender1
 
#コンソールに出力
log4j.appender.appender1=org.apache.log4j.ConsoleAppender
スタイルはTTCCLayout
log4j.appender.appender1.layout=org.apache.log4j.TTCCLayout
 
ここではクラスが存在するパッケージtestを構成します.log 4 j、カンマの前にログ出力レベルが構成されていません.デフォルトはルートloggerのレベルです.
log4j.logger.test.log4j=, TEST
log4j.appender.TEST=org.apache.log4j.ConsoleAppender
log4j.appender.TEST.layout=org.apache.log4j.TTCCLayout
log 4 jが提供するAppender
org.apache.log4j.ConsoleAppender(コンソール)
org.apache.log4j.FileAppender(ファイル)、
org.apache.log4j.DailyRollingFileAppender(毎日1つのログファイルを生成)
org.apache.log4j.RollingFileAppender(ファイルサイズが指定サイズに達したときに新しいファイルが生成されます)、
org.apache.log4j.WriterAppender(任意の指定された場所にログ情報をストリーム形式で送信)
log 4 j提供のLayout
org.apache.log4j.HTML Layout(HTML表形式でレイアウト)、
org.apache.log4j.PatternLayout(レイアウトモードを柔軟に指定できます)、
org.apache.log4j.SimpleLayout(ログ情報のレベルと情報文字列を含む)
org.apache.log4j.TTCCLayout(ログ生成時間、スレッド、カテゴリなどの情報を含む)
Log 4 JはC言語のprintf関数のような印刷形式でログ情報をフォーマットし、印刷パラメータは以下の通りである.
%m出力コードで指定したメッセージ
%p出力優先度、すなわちDEBUG,INFO,WARN,ERROR,FATAL
%rは、アプリケーションがlog情報を出力するために起動したミリ秒数から出力される
%cは属するクラスを出力し、通常はそのクラスのフルネームである.
%t出力ログイベントを生成するスレッド名
%nは折り返し改行を出力し、Windowsプラットフォームは「rn」、Unixプラットフォームは「n」
%dログ時刻の日付または時刻を出力します.デフォルトのフォーマットはISO 8601です.その後、フォーマットを指定することもできます.たとえば、%d{yyy MMM dd HH:mm:ss,SSS}、出力類似:2002年10月18日22:10:28921
%lは、クラス名、発生したスレッド、およびコード内のロー数を含むログイベントの発生場所を出力します.例:Testlog 4.main(TestLog4.java:10)
 
 
slf 4 jの概要
SLF 4 Jは具体的なログソリューションではなく、様々なログシステムにのみサービスを提供します.公式には、SLF 4 Jは、エンドユーザーがアプリケーションの導入時に所望のログシステムを使用できるようにするログシステム用の簡単なFacadeです.
実際、SLF 4 Jが提供するコアAPIは、いくつかのインタフェースおよびロガーファクトリのファクトリクラスである.ある程度、SLF 4 JはJDBCに似ていますが、JDBCよりも簡単です.JDBCではドライバを指定する必要がありますが、SLF 4 Jを使用する場合は、その具体的なログシステムを使用する必要はありません.JDBCを使用して特定のデータベースを基本的に考慮しなくてもよいように、SLF 4 Jは統一的な記録ログのインタフェースを提供しており、その提供方法に従って記録すればよく、最終ログのフォーマット、記録レベル、出力方式などは特定のログシステムの構成によって実現されるため、アプリケーションで柔軟にログシステムを切り替えることができる.
slf 4 jの簡単な例
package com.cn.fangxin.slf4j;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class HelloSlf4j {
    private static final Logger logger = LoggerFactory.getLogger(HelloSlf4j.class);
    public static void main(String[] args) {
        logger.debug("This is debug message");
        logger.info("This is info message");
        logger.warn("This is warn message");
        logger.error("This is error message");
    }
}

log 4 jを最下位ログツールとして使用する場合、上記のプログラムを実行するには3つのパッケージが必要です:log 4 j-1.2.xx.JAr、slf 4 j-api-x.x.x.jar、およびslf 4 j-log 4 j 12-x.x.x.x.jarの2つのパケットはslf 4 jによって提供され、パケット名のxはバージョン番号を表す.