我々はまた、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
支持的日志级别及输出目的地
###
log4j
。rootLogger
=debug
、stdout
、file
###
配置控制台输出及输出格式
###
log4j
。appender
。stdout
=org
。apache
。log4j
。ConsoleAppender
log4j
。appender
。stdout
。Target
=System
。out
log4j
。appender
。stdout
。layout
=org
。apache
。log4j
。PatternLayout
log4j
。appender
。stdout
。layout
。ConversionPattern
= [% - 5p
]%
d
{yyyy
- -MM
:dd HH
:、mm
} :% %%%ss
SSS
method
l
n
m
n
###
输出
DEBUG
级别以上的日志到工程根目录下的
logs
/log
。log
文件,可以自行修改为绝对路径
###
log4j
。appender
。file
=org
。apache
。log4j
。FileAppender
log4j
。appender
。file
。File
=logs
/log
。log
log4j
。appender
。file
。Append
=真
log4j
。appender
。file
。Threshold
=DEBUG
log4j
。appender
。file
。layout
=org
。apache
。log4j
。PatternLayout
log4j
。appender
。file
。layout
。ConversionPattern
=% -d
{yyyy
- -MM
::dd HH
} [ %:%] - [ %] %%mm
ss
t
r
p
m
n
注:パートナーはいくつかの小さな「文字化け」と表示されます、Eclipseに貼り付け:\ u6839、Unicodeエンコーディングは、プログラムの実行には影響を与えませんしています。
1.3、Javaクラス内でコードを書きます
パッケージcom
。xuetang9
。kenny
;
インポートorg
。apache
。log4j
。Logger
;
/ **
*使用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、ルートロガーを設定し、構文は次のとおりです。
log4j
。rootLogger
= [level
]、 、、appenderName1
...appenderName2
OFFにログレベルの優先度を表し、FATAL、ERROR、WARN、INFO、DEBUG、ALLまたはカスタムレベル(E、F、G、等)。log4jは、ERRORあるWARN最高から最低の優先度に、唯一の4つのレベルを使用するINFO、DEBUGをお勧めします。ここではレベルによって定義され、我々は、ログ情報の適切なレベルのアプリケーションを制御するために切り替えることができます。例えば、ここではINFOレベルの定義に、すべてのDEBUGレベルのログ情報の適用は印刷されません。appenderNameは場所に出力ログ情報を参照します。あなたは、複数の出力先を指定することができます。
図2に示すように、構成情報、ログ出力先(アペンダ)以下のように、構文は次のとおりです。
log4j
。appender
。appenderName
=fully
。qualified
。name
。of
。appender
。クラス
log4j.appender.appenderName.option1 =value1
...............
log4j
。appender
。appenderName
。option
=valueN
これは、提供さアペンダlog4jのは、プロジェクトに応じて、以下の通り使用する必要があります。
org
。apache
。log4j
。ConsoleAppender
输出到控制台
org
。apache
。log4j
。FileAppender
输出到文件
org
。apache
。log4j
。DailyRollingFileAppender
每天产生一个日志文件
org
。apache
。log4j
。RollingFileAppender
文件大小到达指定尺寸的时候产生一个新的文件
org
。apache
。log4j
。WriterAppender
将日志信息以流格式发送到任意指定的地方
図3に示すように、構成ログ出力形式(レイアウト)は、次の構文:
log4j
。appender
。appenderName
。layout
=fully
。qualified
。name
。of
。layout
。クラス
log4j.appender.appenderName.layout.option1 =value1
..............
log4j
。appender
。appenderName
。layout
。option
=valueN
Log4jのは、提供形式のレイアウトは、次のとおりです。
org
。apache
。log4j
。HTMLLayout
以
HTML
表格形式布局
org
。apache
。log4j
。PatternLayout
可以灵活地指定布局模式(常用)
org
。apache
。log4j
。SimpleLayout
包含日志信息的级别和信息字符串
org
。apache
。log4j
。TTCCLayout
包含日志产生的时间、线程、类别等等信息
次のようにlog4jのログ情報をフォーマットする同様のC言語のprintf関数は、印刷パラメータは以下のとおりです。
%p
输出优先级,即
DEBUG
,
INFO
,
WARN
,
ERROR
,
FATAL
%r
输出自应用启动到输出该
log
信息耗费的毫秒数
%c
输出所属的类目,通常就是所在类的全名
%t
输出产生该日志事件的线程名
%n
输出一个回车换行符,
Windows
平台为
“rn”
,
Unix
平台为
“n”
%d
输出日志时间点的日期或时间,默认格式为
ISO8601
,也可以在其后指定格式,比如:
%d
{yyy MMM dd HH
:mm
:ss
、SSS
},输出类似:
2018年年
12月
31日
23
:
59:
59,
123
%のl
输出日志事件的发生位置,包括类名、发生的线程,以及在代码中的行数。如:
LoggerTest
.main(LoggerTest
。java
18)
図4に示すように、ログレベル
各ロガーは、出力ログ情報を制御するためのログレベル(レベルログ)、です。ハイからローにログレベルが分かれています。
A:近いすべてのロギングの最高レベルオフ。
B:致命的なアプリケーションを終了する場合は、すべての重大なエラーが発生したことを指摘しました。
C:エラーエラーが指摘されている事件が、まだシステムの継続動作には影響を与えません。
D:温かいは、潜在的なエラー条件が存在することを示しています。
E:一般的と粗粒レベルでの情報、実行にアプリケーション全体を強調。
Fは:一般的なアプリケーションをデバッグするため、きめの細かいレベルで使用デバッグは非常に有用です。
G:すべての最低レベルは、すべてのログを開きます。
これらのレベルはorg.apache.log4j.Levelクラスで、上記で定義されています。Log4jには、低優先度の高いからエラー、警告、情報、およびデバッグで、唯一の4つのレベルを使用することをお勧めします。ログレベルを使用することで、アプリケーションのログ情報に対応する出力レベルを制御することができます。例えば、情報レベルB場合、(例えば、デバッグなど)、ログ情報情報のアプリケーション・プログラムの下のすべてのレベルが印刷されません。
古い9つの学校:マイクロチャンネル公衆番号への注目ドライノートより