Log 4 j_配置方法(全面解説)

10723 ワード

一、Log 4 j概要
Log 4 jには3つの主要なコンポーネントがあります。ロギング(レコーダ)、Apppenders(出力元)、Layouts(レイアウト)。ここではログカテゴリとして簡単に理解できます。ログが出力するところとログはどのような形で出力されますか?これらの3つのコンポーネントを総合的に使用すると、情報の種類とレベルを簡単に記録し、実行時にログ出力のスタイルと位置を制御することができます。
1、ロギンス
ロギングコンポーネントはこのシステムではDEBUG、INFO、WARN、ERROR、FATALの5つのレベルに分けられている。この5つのレベルは順序があり、DEBUG<INFO<ERROR>FATALはそれぞれこのログ情報の重要度を指定するために使用されています。これが重要であることが分かります。Log 4 jは設定レベル以下のログ情報のみを出力し、ロギングレベルがINFOに設定されていると、INFO、WARN、ERROR、FATALレベルのログ情報が出力されます。INFOよりレベルが低いDEBUGは出力されません。
2、アプリ
ログ要求はログ4 jの基本機能だけであり、ログ4 jログシステムはまた、ログを異なる場所に出力することを許可する、例えばコンソール、ファイル(Files)など、日数やファイルサイズに応じて新しいファイルを生成し、ストリーム形式で他の場所に送信することができるなど、多くの強力な機能を提供している。
よく使うクラスは以下の通りです。
org.apache.log 4 j.sonine solieApppender(コンソール)
org.apache.log 4 j.FileApppender(ファイル)
org.apache.logl 4 j.DailyRollingFileApender(毎日1つのログファイルを生成する)
org.apphe.logl 4 j.RollingFileApppender(ファイルサイズが指定サイズに達すると新しいファイルが作成されます。)
org.apache.log 4 j.WriterApender(ログ情報を任意の指定の場所にストリーミング形式で送信する)
設定モード:

log4j.appender.appenderName = className
log4j.appender.appenderName.Option1 = value1
…
log4j.appender.appenderName.OptionN = valueN
3、Layouts
ユーザーが自分の好みに応じてログ出力をフォーマットしたい場合がありますが、Log 4 jはアプリの後ろにLayoutsを付加してこの機能を完成できます。Layoutsは、HTMLスタイル、自由指定スタイル、ログレベルと情報を含むスタイル、ログ時間、スレッド、カテゴリなどの情報を含むスタイルの4種類のログ出力パターンを提供します。
よく使うクラスは以下の通りです。
org.apache.log 4 j.HTMLLayout(HTML形式でレイアウト)
org.apaache.log 4 j.Pattern Layout(レイアウトモードを柔軟に指定できます)
org.apache.log 4 j.SimpleLayout(ログ情報を含むレベルと情報文字列)
org.apache.log 4 j.TTCCLayout(ログ生成の時間、スレッド、カテゴリなどの情報を含む)
設定モード:

log4j.appender.appenderName.layout =className
log4j.appender.appenderName.layout.Option1 = value1
…
log4j.appender.appenderName.layout.OptionN = valueN
二、配置の詳細
実際のアプリケーションでは、ログ4 jをシステムで動作させるためには、事前に設定されたプロファイルが必要です。配置ファイルは、実はロギング、Appnder、Layoutに対して設定されています。Log 4 jは2つの構成ファイルフォーマットをサポートしています。一つはXML形式のファイルで、一つはproperties属性ファイルです。プロperties属性ファイルを例にして、log 4 j.propertiesの構成を紹介します。
1、ルートロギングの配置:
log 4 j.root Loggar=[level],apenderName 1,apender Name 2,…
ロゴ4 j.additivity.org.apache=false:ロギングが父ロガーのapenderから出力されないということです。デフォルトはtrueです。
level:ログ記録の最低レベルを設定し、設定可能な値はOFF、FATAL、ERROR、WARN、INFO、DEBUG、ALLまたはカスタムレベルがあり、Log 4 jは中間の4つのレベルだけを使用することを推奨します。ここでレベルを設定することで、アプリケーション内の該当レベルのログ情報のスイッチを制御できます。ここでINFOレベルを設定すると、アプリケーション内のすべてのDEBUGレベルのログ情報が印刷されなくなります。
apenderName:ログ情報をどこに出力するかを指定します。複数の出力先を同時に指定してカンマで区切ることができます。
例えば、ロゴ4 j.rootLogger=INFO、A 1、B 2、C 3
2、ログ情報出力先を設定します。
log 4 j.apender.apenderName=class Name
appender Name:カスタムappder Nameは、ロゴ4 j.root Loggar設定に使用されます。
クラスName:設定できる値は以下の通りです。
(1)org.apache.logl 4 j.sonine solieApender(コンソール)
(2)org.apache.log 4 j.FileApppender(ファイル)
(3)org.apache.logic 4 j.DailyRollingFileApender(毎日1つのログファイルを生成する)
(4)org.apache.logl 4 j.RollingFileApplender(ファイルサイズが指定サイズに達すると新しいファイルが作成されます)
(5)org.apache.logl 4 j.WriterApender(ログ情報を任意の指定の場所にストリーミング形式で送信する)
(1)Consolie Apppenderオプション:
Threshld=WARN:ログ情報の最低出力レベルを指定し、デフォルトはDEBUGです。
ImmediateFlash=true:すべてのメッセージがすぐに出力されるという意味で、falseとしては出力されません。デフォルト値はtrueです。
Target=System.err:標準値はSystem.outです。
(2)FileApppenderオプション:
Threshld=WARN:ログ情報の最低出力レベルを指定し、デフォルトはDEBUGです。
ImmediateFlash=true:すべてのメッセージがすぐに出力されるという意味で、falseとしては出力されません。デフォルト値はtrueです。
Apple=false:trueはメッセージを指定ファイルに追加すると表しています。falseはメッセージを指定されたファイルの内容を上書きし、デフォルトはtrueです。
File=D:/logs/logging.logl 4 j:指定メッセージがloging.loging 4 jファイルに出力されます。
(3)DailyRollingFileApenderオプション:
Threshld=WARN:ログ情報の最低出力レベルを指定し、デフォルトはDEBUGです。
ImmediateFlash=true:すべてのメッセージがすぐに出力されるという意味で、falseとしては出力されません。デフォルト値はtrueです。
Apple=false:trueはメッセージを指定ファイルに追加すると表しています。falseはメッセージを指定されたファイルの内容を上書きし、デフォルトはtrueです。
File=D:/logs/loging.logl 4 j:現在のメッセージをloging.loging 4 jファイルに出力することを指定します。
DatePattern=''yyy-M:毎月一回のログファイルをスクロールします。つまり毎月新しいログファイルを作成します。現在の月のログファイル名はloging.loging 4 jで、前の月のログファイル名はloging.log 4 j.yyy-Mです。
また、ログファイルを週、日、時、分などでスクロールするよう指定してもいいです。対応するフォーマットは以下の通りです。
1)'''yyy-M:毎月
2)'''yyy-ww:毎週
3)''yyy-M-dd:毎日
4)''yyy-M-dd-a:毎日2回
5)''yyy-M-dd-HH:毎時間
6)''yyy-M-dd-HH-mm:毎分
(4)RollingFileApppenderオプション:
Threshld=WARN:ログ情報の最低出力レベルを指定し、デフォルトはDEBUGです。
ImmediateFlash=true:すべてのメッセージがすぐに出力されるという意味で、falseとしては出力されません。デフォルト値はtrueです。
Apple=false:trueはメッセージを指定ファイルに追加すると表しています。falseはメッセージを指定されたファイルの内容を上書きし、デフォルトはtrueです。
File=D:/logs/logging.logl 4 j:指定メッセージがloging.loging 4 jファイルに出力されます。
MaxFileSize=100 KB:拡張子はKB、MBまたはGBとすることができます。ログファイルがこの時間に達すると、自動的にスクロールされ、元のコンテンツがロゴ.loging.loging 4 j.1ファイルに移動します。
MaxBackupIndex=2:生成できるスクロールファイルの最大数を指定します。例えば、2に設定すると、loging.loging.loging 4 j.1、loging.loging 4 j.2つのスクロールファイルと一つのloging.loging 4 jファイルが生成されます。
3、設定ログ情報の出力フォーマット(Layout):
log 4 j.apender.apender Name.layout=class Name
クラスName:設定できる値は以下の通りです。
(1)org.apache.log 4 j.HTMLLayout(HTML形式でレイアウト)
(2)org.apaache.log 4 j.Pattern Layout(レイアウトパターンを柔軟に指定できる)
(3)org.apache.logl 4 j.SimpleLayout(ログ情報を含むレベルと情報文字列)
(4)org.apache.logl 4 j.TTCCLayout(ログ生成の時間、スレッド、カテゴリなどの情報を含む)
(1)HTMLLayoutオプション:
LocationInfo=true:javaファイルの名前と行番号を出力します。標準値はfalseです。
Title=My Logging:デフォルト値はLog 4 J Log Messagesです。
(2)Pattern Layoutオプション:
CoversionPattern=%m%n:メッセージをどのようなフォーマットで表示するかを設定します。
書式設定記号の説明:
%p:ログ情報の出力優先度はDEBUG,INFO,WARN,ERROR,FATALです。
%d:ログポイントを出力する日付または時間は、デフォルトのフォーマットはISO 8601であり、その後にフォーマットを指定することもできます。例えば、%d{yyy/MM/dd HH:mm:ss,SSS}。
%r:アプリケーションの起動から出力までにかかったミリ秒数を出力します。
%t:ログイベントを生成するスレッド名を出力します。
%l:ログイベントの発生位置は%c.%M(%F:%L)の組み合わせに相当し、クラス名、方法、ファイル名、コード内の行数を含む。例えば、test.TestLog 4 j.main(TestLog 4 j.java:10)です。
%c:出力ログ情報が属するクラスは、通常は所在クラスのフルネームです。
%M:ログ情報を生成するメソッド名を出力します。
%F:ログメッセージ生成時に存在するファイル名を出力します。
%L::コードの行番号を出力します。
%m::コードで指定された具体的なログ情報を出力します。
%n:回車の改行を出力します。Windowsプラットフォームは「/r/n」、Unixプラットフォームは「/n」です。
%x:現在のスレッドに関連するNDC(入れ子診断環境)を出力し、特にjava servletsのようなマルチスレッドのアプリケーションで使用します。
%1:「%」の文字を出力します。
また、%と書式文字の間に修飾子を加えて、その最小長さ、最大長さ、およびテキストの配置を制御することもできる。例えば:
1)%20 c:指定出力categoryの名前は、最小の長さは20で、categoryの名称が20より短いと、デフォルトの場合は右揃えになります。
2)%20 c:「-」は左揃えを表します。
3)%330 c:指定出力categoryの名前は、最大の長さは30で、categoryの名前が30より長いと、左に多く出ている文字をカットしますが、30より小さいとスペースを埋めません。
付:Log 4 jより全面的な配置
Log 4 jプロファイルは、コンソール、ファイル、ロールバックファイル、ログメールの送信、データベースログテーブルへの出力、カスタムラベルなどのフルセット機能を実現しています。

log4j.rootLogger=DEBUG,console,dailyFile,im
log4j.additivity.org.apache=true
#    (console)
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.Threshold=DEBUG
log4j.appender.console.ImmediateFlush=true
log4j.appender.console.Target=System.err
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=[%-5p] %d(%r) --> [%t] %l: %m %x %n

#     (logFile)
log4j.appender.logFile=org.apache.log4j.FileAppender
log4j.appender.logFile.Threshold=DEBUG 
log4j.appender.logFile.ImmediateFlush=true
log4j.appender.logFile.Append=true
log4j.appender.logFile.File=D:/logs/log.log4j
log4j.appender.logFile.layout=org.apache.log4j.PatternLayout
log4j.appender.logFile.layout.ConversionPattern=[%-5p] %d(%r) --> [%t] %l: %m %x %n

#     (rollingFile)
log4j.appender.rollingFile=org.apache.log4j.RollingFileAppender
log4j.appender.rollingFile.Threshold=DEBUG 
log4j.appender.rollingFile.ImmediateFlush=true
log4j.appender.rollingFile.Append=true
log4j.appender.rollingFile.File=D:/logs/log.log4j
log4j.appender.rollingFile.MaxFileSize=200KB
log4j.appender.rollingFile.MaxBackupIndex=50
log4j.appender.rollingFile.layout=org.apache.log4j.PatternLayout
log4j.appender.rollingFile.layout.ConversionPattern=[%-5p] %d(%r) --> [%t] %l: %m %x %n

#         (dailyFile)
log4j.appender.dailyFile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.dailyFile.Threshold=DEBUG 
log4j.appender.dailyFile.ImmediateFlush=true
log4j.appender.dailyFile.Append=true
log4j.appender.dailyFile.File=D:/logs/log.log4j
log4j.appender.dailyFile.DatePattern='.'yyyy-MM-dd
log4j.appender.dailyFile.layout=org.apache.log4j.PatternLayout
log4j.appender.dailyFile.layout.ConversionPattern=[%-5p] %d(%r) --> [%t] %l: %m %x %n

#    socket
log4j.appender.socket=org.apache.log4j.RollingFileAppender
log4j.appender.socket.RemoteHost=localhost
log4j.appender.socket.Port=5001
log4j.appender.socket.LocationInfo=true
# Set up for Log Factor 5
log4j.appender.socket.layout=org.apache.log4j.PatternLayout
log4j.appender.socket.layout.ConversionPattern=[%-5p] %d(%r) --> [%t] %l: %m %x %n
# Log Factor 5 Appender
log4j.appender.LF5_APPENDER=org.apache.log4j.lf5.LF5Appender
log4j.appender.LF5_APPENDER.MaxNumberOfRecords=2000

#          
log4j.appender.mail=org.apache.log4j.net.SMTPAppender
log4j.appender.mail.Threshold=FATAL
log4j.appender.mail.BufferSize=10
log4j.appender.mail.From = [email protected]
log4j.appender.mail.SMTPHost=mail.com
log4j.appender.mail.Subject=Log4J Message
log4j.appender.mail.To= [email protected]
log4j.appender.mail.layout=org.apache.log4j.PatternLayout
log4j.appender.mail.layout.ConversionPattern=[%-5p] %d(%r) --> [%t] %l: %m %x %n

#       
log4j.appender.database=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.database.URL=jdbc:mysql://localhost:3306/test
log4j.appender.database.driver=com.mysql.jdbc.Driver
log4j.appender.database.user=root
log4j.appender.database.password=
log4j.appender.database.sql=INSERT INTO LOG4J (Message) VALUES('=[%-5p] %d(%r) --> [%t] %l: %m %x %n')
log4j.appender.database.layout=org.apache.log4j.PatternLayout
log4j.appender.database.layout.ConversionPattern=[%-5p] %d(%r) --> [%t] %l: %m %x %n

#    Appender
log4j.appender.im = net.cybercorlin.util.logger.appender.IMAppender
log4j.appender.im.host = mail.cybercorlin.net
log4j.appender.im.username = username
log4j.appender.im.password = password
log4j.appender.im.recipient = [email protected]
log4j.appender.im.layout=org.apache.log4j.PatternLayout
log4j.appender.im.layout.ConversionPattern=[%-5p] %d(%r) --> [%t] %l: %m %x %n
以上が、小编がみんなに持ってきたLog 4 j_です。配置方法(全面解説)の内容は全部分かりましたので、お好きなように。
もし皆さんがもっと多くのゲーム活動とゲーム攻略を知りたいなら、引き続きこのサイトに注目してください。本サイトの小編は第一時間に皆さんに最高の鑑賞、最も面白い、最も新鮮なゲーム情報を持ってきます。もっと素晴らしい内容はjb 51ゲームチャンネルにあります。