ApacheのオープンソースロギングフレームワークLog4jの設定ガイド

我々はまた、ApacheのLog4jのはLog4jのを使用して、オープンソースプロジェクトで、我々は先のログ情報の配信は、コンソール、ファイル、GUIコンポーネント、あるいはソケットのサーバー、NTイベントロガー、UNIX syslogデーモンなどで制御することができますあなたは、各ログの出力形式を制御することができ、それぞれは、ログ情報のレベルによって定義され、我々はより慎重にログ生成プロセスを制御することができました。最も便利には、これらは柔軟アプリケーション・コードを変更せずに、コンフィギュレーションファイルを介して構成することができることです。ます。http://www.apache.org/dyn/closer.cgi/logging/log4j/1.2.17/log4j-1.2.17このガイドでは、Log4jのの設定と使用のLog4jの1.xのバージョン最新バージョンをダウンロードしてについて説明します。ジップ

EclipseのLog4jの中に配置されました

1.1、新しいJavaプロジェクトは、以下のパッケージのlog4j-1.2.17.jar、プロジェクトをインポートします。

 

 

 

1.2、ファイルに以下をコピーして貼り付け、SRCでlog4j.propertieseプロファイルを作成します。

### logger主要定义log4j支持的日志级别及输出目的地 ###
log4jrootLogger= debugstdoutfile
 
### 配置控制台输出及输出格式 ###
log4jappenderstdout= orgapachelog4jConsoleAppender
log4jappenderstdoutTarget= Systemout
log4jappenderstdoutlayout= orgapachelog4jPatternLayout
log4jappenderstdoutlayoutConversionPattern= [% - 5 p]  d{ yyyy- - MMdd HHmm } :% %ssSSS methodlnmn
 
### 输出DEBUG级别以上的日志到工程根目录下的logs/ loglog文件,可以自行修改为绝对路径 ###
log4jappenderfile= orgapachelog4jFileAppender
log4jappenderfileFile= logs/ loglog
log4jappenderfileAppend=真
log4jappenderfileThreshold=DEBUG
log4jappenderfilelayout= orgapachelog4jPatternLayout
log4jappenderfilelayoutConversionPattern=% - d{ yyyy- - MMdd HH } [ :%] - [ ] mmss  tr    p   mn

注:パートナーはいくつかの小さな「文字化け」と表示されます、Eclipseに貼り付け:\ u6839、Unicodeエンコーディングは、プログラムの実行には影響を与えませんしています。

1.3、Javaクラス内でコードを書きます

パッケージ comxuetang9kenny;
インポート orgapachelog4jLogger;
/ **
 *使用Log4jの印刷ログ情報<BR/>
 * @authorケニー
 * @version 1.0
 5月8日の9時41分13秒* @date 2018インディアン1日の午後
 * @copyright古い9校
 * /
パブリック クラス LoggerTest  {
    プライベート 静的 Logger logger =  Logger.getLogger(LoggerTest.classファイル)。
    パブリック 静的 ボイド メイン(String[]  args {
        //ロギング動作は、OFFに階層分けされ、FATAL、ERROR、WARN、INFO、DEBUG、TRACE、ユーザーが定義したすべてまたはレベル。
        // Log4jには、最高から最低の優先度に、唯一の4つのレベルを使用することをお勧めERROR、WARN、INFO、DEBUGです。
        logger.DEBUG(「レコードレベルのデバッグ情報」)。
        logger.info(「情報レコードレベル情報」);
        logger.WARN(「レコードレベル情報を警告します」)。
    }
}

1.4、出力:

コンソール:

 

 


ログ/ log.logファイル:

 

 

 

二、Log4jの基本的な使い方

Log4jには高度な設定、および実行時に外部の設定ファイルを介して行われます。これは、優先順位のレコードに基づいて、そのように先の数、にレコード情報を示すためのメカニズムを提供されます。データベース、ファイル、コンソール、UNIXシステムのログを。

Log4jには、3つの主要コンポーネントがあります。

- ロガー:ログ情報を取得するための責任を負います。

- アペンダ:選択肢の異なる宛先にログ情報を公開する責任。

- レイアウト:異なるスタイルでフォーマットされたログ情報を担当します。

定義2.1、コンフィギュレーション・ファイル

xmlファイルとプロパティファイル(推奨):log4jのは、構成ファイルを介して設定することができ、現在、2つのコンフィギュレーション・ファイル・フォーマットをサポートしています。

1、ルートロガーを設定し、構文は次のとおりです。

log4jrootLogger= [ level]、 、 appenderName1 ... appenderName2 

OFFにログレベルの優先度を表し、FATAL、ERROR、WARN、INFO、DEBUG、ALLまたはカスタムレベル(E、F、G、等)。log4jは、ERRORあるWARN最高から最低の優先度に、唯一の4つのレベルを使用するINFO、DEBUGをお勧めします。ここではレベルによって定義され、我々は、ログ情報の適切なレベルのアプリケーションを制御するために切り替えることができます。例えば、ここではINFOレベルの定義に、すべてのDEBUGレベルのログ情報の適用は印刷されません。appenderNameは場所に出力ログ情報を参照します。あなたは、複数の出力先を指定することができます。

図2に示すように、構成情報、ログ出力先(アペンダ)以下のように、構文は次のとおりです。

log4jappenderappenderName= fullyqualifiednameofappender。クラス
log4j.appender.appenderName.option1 =value1
    ...............
log4jappenderappenderNameoption=valueN

これは、提供さアペンダlog4jのは、プロジェクトに応じて、以下の通り使用する必要があります。

orgapachelog4jConsoleAppender            输出到控制台
orgapachelog4jFileAppender               输出到文件
orgapachelog4jDailyRollingFileAppender   每天产生一个日志文件
orgapachelog4jRollingFileAppender        文件大小到达指定尺寸的时候产生一个新的文件
orgapachelog4jWriterAppender             将日志信息以流格式发送到任意指定的地方

図3に示すように、構成ログ出力形式(レイアウト)は、次の構文:

log4jappenderappenderNamelayout= fullyqualifiednameoflayout。クラス
log4j.appender.appenderName.layout.option1 =value1
    ..............
log4jappenderappenderNamelayoutoption=valueN

Log4jのは、提供形式のレイアウトは、次のとおりです。

orgapachelog4jHTMLLayout     HTML表格形式布局
orgapachelog4jPatternLayout  可以灵活地指定布局模式(常用)
orgapachelog4jSimpleLayout   包含日志信息的级别和信息字符串
orgapachelog4jTTCCLayout     包含日志产生的时间、线程、类别等等信息

次のようにlog4jのログ情報をフォーマットする同様のC言語のprintf関数は、印刷パラメータは以下のとおりです。

p 输出优先级,即DEBUGINFOWARNERRORFATAL
r 输出自应用启动到输出该log信息耗费的毫秒数
c 输出所属的类目,通常就是所在类的全名
t 输出产生该日志事件的线程名
n 输出一个回车换行符,Windows平台为“rn”Unix平台为“n”
d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:d{ yyy MMM dd HHmmssSSS} ,输出类似:2018年12 31  23 59 59 123
%のl 输出日志事件的发生位置,包括类名、发生的线程,以及在代码中的行数。如:LoggerTest.main( LoggerTestjava18)

図4に示すように、ログレベル

各ロガーは、出力ログ情報を制御するためのログレベル(レベルログ)、です。ハイからローにログレベルが分かれています。

A:近いすべてのロギングの最高レベルオフ。

B:致命的なアプリケーションを終了する場合は、すべての重大なエラーが発生したことを指摘しました。

C:エラーエラーが指摘されている事件が、まだシステムの継続動作には影響を与えません。

D:温かいは、潜在的なエラー条件が存在することを示しています。

E:一般的と粗粒レベルでの情報、実行にアプリケーション全体を強調。

Fは:一般的なアプリケーションをデバッグするため、きめの細かいレベルで使用デバッグは非常に有用です。

G:すべての最低レベルは、すべてのログを開きます。

これらのレベルはorg.apache.log4j.Levelクラスで、上記で定義されています。Log4jには、低優先度の高いからエラー、警告、情報、およびデバッグで、唯一の4つのレベルを使用することをお勧めします。ログレベルを使用することで、アプリケーションのログ情報に対応する出力レベルを制御することができます。例えば、情報レベルB場合、(例えば、デバッグなど)、ログ情報情報のアプリケーション・プログラムの下のすべてのレベルが印刷されません。

古い9つの学校:マイクロチャンネル公衆番号への注目ドライノートより

おすすめ

転載: www.cnblogs.com/ljxt/p/11613038.html