log4j.properties概要:
1。はじめに
Log4Jは、Apacheのオープンソースプロジェクトです。 LOG4Jを使用することにより、ログ情報配信の宛先をコンソール、ファイル、GUIコンポーネント、ソケットサーバー、NTイベントロガー、UNIX Syslog Daemonsなどに制御できます。また、各ログの出力形式を制御することもできます。各ログ情報のレベルを定義することにより、ログ生成プロセスをより慎重に制御できます。
log4jは、ログ情報の優先度、ログ情報の出力宛先、ログ情報の出力形式の3つの重要なコンポーネントで構成されています。ログ情報の優先順位は、高から低いものです。このログ情報の重要性を指定するために使用されるエラー、警告、情報、およびデバッグ。ログ情報の出力宛先は、ログがコンソールまたはファイルに印刷されるかどうかを指定します。出力形式は、ログ情報の表示コンテンツを制御します。
2。構成ファイル
実際、構成ファイルをまったく使用することはできませんが、コードでlog4j環境を構成することもできます。ただし、構成ファイルを使用すると、アプリケーションがより柔軟になります。
LOG4Jは2つの構成ファイル形式をサポートします。1つはXML形式ファイル、もう1つはプロパティ形式ファイルです。以下に、構成ファイルとしてプロパティ形式を使用する方法を紹介します。
例:
log4j.rootlogger = info、a1 log4j.appender.a1 = org.apache.log4j.consoleappender log4j.appender.a1.layout = org.apache.log4j.patternlayout log4j.appender.a1.a1.layout.conversiont
1。ルートロガーを構成します。その構文は次のとおりです。
log4j.rootlogger = [level]、appendername、appendername、…
その中でも、レベルはロギングの優先順位であり、オフ、致命的、エラー、警告、情報、デバッグ、すべてまたは定義するレベルに分割されています。 LOG4Jは、高から低いもの、つまりエラー、ウォーン、情報、デバッグを優先して、4つのレベルのみを使用することをお勧めします。ここで定義されているレベルでは、アプリケーション内の対応するログ情報のスイッチを制御できます。たとえば、情報レベルがここで定義されている場合、アプリケーション内のすべてのデバッグレベルのログ情報は印刷されません。
付録ログ情報が出力される場所を指定します。複数の出力宛先を同時に指定できます。
2。ログ情報出力宛先Appenderを構成します。その構文が次のとおりです。
log4j.appender.appendername = fully.aqualified.name.of.of.appender.class log4j.appender.appendername.option1 = value1…log4j.appender.appendername.option = valuen
その中で、log4jによって提供される付録は次のとおりです。
org.apache.log4j.consoleAppender(Console)、org.apache.log4j.fileappender(file)、org.apache.log4j.dailyrollingfileappender(毎日ログファイルを作成)、org.apache.log4j.rollingfileappender org.apache.log4j.writerAppender(指定された場所にストリーム形式でログ情報を送信)
(1).ConsoleAppenderオプション
しきい値=ワーン:ログメッセージの出力の最低レベルを指定します。即時flush = true:デフォルト値はtrueです。つまり、すべてのメッセージがすぐに出力されます。ターゲット= system.err:デフォルトでは、system.out、出力コンソールを指定します
(2).FILEAPPENDERオプション
しきい値=ワーン:ログメッセージの出力の最低レベルを指定します。
即時flush = true:デフォルト値はtrueです。つまり、すべてのメッセージがすぐに出力されます。
file = mylog.txt:メッセージがmylog.txtファイルに出力されることを指定します。
append = false:デフォルト値はtrueです。これは、指定されたファイルにメッセージを追加することを意味します。 falseとは、指定されたファイルコンテンツにメッセージを上書きすることを意味します。
(3).DailyrollingFileAppenderオプション
しきい値=ワーン:ログメッセージの出力の最低レベルを指定します。
即時flush = true:デフォルト値はtrueです。つまり、すべてのメッセージがすぐに出力されます。
file = mylog.txt:メッセージがmylog.txtファイルに出力されることを指定します。
append = false:デフォルト値はtrueです。これは、指定されたファイルにメッセージを追加することを意味します。 falseとは、指定されたファイルコンテンツにメッセージを上書きすることを意味します。
datepattern = '。' yyyy-ww:週に一度ファイルをスクロールします。つまり、毎週新しいファイルを生成します。もちろん、毎月、週、日、時間、分を指定することもできます。つまり、対応する形式は次のとおりです。
1) '。' yyyy-mm:毎月
2) '。' yyyy-ww:毎週
3) '。' yyyy-mm-dd:毎日
4) '。' yyyy-mm-dd-a:1日2回
5) '。' yyyy-mm-dd-hh:1時間ごと
6) '。' yyyy-mm-dd-hh-mm:毎分
(4).RollingFileAppenderオプション
しきい値=ワーン:ログメッセージの出力の最低レベルを指定します。
即時flush = true:デフォルト値はtrueです。つまり、すべてのメッセージがすぐに出力されます。
file = mylog.txt:メッセージがmylog.txtファイルに出力されることを指定します。
append = false:デフォルト値はtrueです。これは、指定されたファイルにメッセージを追加することを意味します。 falseとは、指定されたファイルコンテンツにメッセージを上書きすることを意味します。
maxfilesize = 100kb:接尾辞はKB、MB、またはGBです。ログファイルがこのサイズに達すると、自動的にスクロールし、元のコンテンツが移動されます
mylog.log.1ファイル。
maxbackupindex = 2:生成できるスクロールファイルの最大数を指定します。
3。ログ情報のレイアウトを構成し、その構文は次のとおりです。
log4j.appender.appendername.layout = fully.aqualified.name.of.layout.class
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(ログ生成の時間、スレッド、カテゴリなどを含む)
4。出力形式の設定
構成ファイルでは、log4j.appender.a1.layout.conversionpatternを使用してログ出力形式を設定できます。
パラメーター:
%P:出力ログ情報の優先順位、つまりデバッグ、情報、警告、エラー、致命的、
%D:ログの時点の日付または時刻は出力です。デフォルトの形式はISO8601です。次のような形式を指定することもできます。
%R:アプリケーションの起動からこのログ情報の出力までの出力へのミリ秒数
%C:出力ログ情報が属するカテゴリは、通常クラスのフルネームです
%T:ログイベントを生成するスレッド名を出力
%L:出力ログイベントは、カテゴリ名、発生スレッド、およびコード内の行数を含む%Cの発生の位置で発生します。%m(%f:%l)。例:testlog4.main(testlog4.java:10)
%X:特にマルチカスタマーやマルチスレッドを備えたJavaサーブレットなどのアプリケーションで、現在のスレッドに関連付けられたNDC(ネストされた診断環境)の出力。
%%:「%」文字を出力します
%F:出力ログメッセージが生成されたファイル名
%L:出力コードの行番号
%M:出力コードで指定されたメッセージと生成された特定のログ情報
%n:キャリッジリターンラインブレーク、Windowsプラットフォームは「/r/n」、Unixプラットフォームは「/n」がログ情報ラインの出力を出力するために「/n」です。
修飾子を%とパターン文字の間に追加して、最小幅、最大幅、およびテキストアライメントを制御できます。のように:
1)%20C:出力カテゴリの名前を指定します。最小幅は20です。カテゴリの名前が20未満の場合、デフォルトで右に整列されています。
2)%-20C:出力カテゴリの名前を指定します。最小幅は20です。カテゴリの名前が20未満の場合、「 - 」記号は左のアライメントを指定します。
3)%。30C:出力カテゴリの名前を指定します。最大幅は30です。カテゴリの名前が30を超える場合、左側の余分な文字が切断されますが、30未満の場合、スペースはありません。
4)%20.30c:カテゴリの名前が20未満の場合は、スペースを埋めて右に調整します。その名前が30文字より長い場合は、左から傍受される文字を切り取ります。
3。Log4j.Propertiesファイルをロードします
1。スプリングモード、構成、およびweb.xmlでのロード:
Spring Loads Log4j.Propertiesは、指定された場所からWeb.xml構成を介してLOG4J構成ファイルとLOG4J出力パスをロードできるLOG4JCONFIGLISTENERを提供します。それはそれに注意する必要があります
log4jConfiglistenerは、Springのリスナーの前になければなりません。
web.xml
<! - sprngによってロードされたlog4j構成ファイルの位置を設定 - > <context-param> <param-name> log4jconfiglocation </param-name> <param-value> web-inf/classes/log4j.properties </plar-value> </context-param> <! - spring for interval for log4j構成 - > <parm> <parm <param-name> log4jrefreshinterval </param-name> <param-value> 10000 </param-value> </context-param> <リスナー> <リスナー> <リスナークラス> org.springframework.web.util.log4jconfiglistener </risterer-class> </wiender>
2。リソースファイルはリソースクラスを介してロードでき、使用と統合されます。
public class testlog4j {public static void main(string [] args){propertyconfigurator.configure( "d:/code/conf/log4j.properties"); logger logger = logger.getLogger(testlog4j。class); logger.debug( "debug"); logger.error( "error"); }}4。プログラムで使用します
プログラムでlog4jを使用する前に、最初にcommons-logging.jarとlogging-log4j-1.2.9.jarをクラスパスにインポートし、srcルートディレクトリにlog4j.propertiesを配置する必要があります。次に使用する準備が整います。
1。レコーダーを取得します
LOG4Jを使用して、最初のステップは、ログ情報の制御を担当するログレコーダーを取得することです。構文は次のとおりです。
public static logger getlogger(string name)、
指定された名前でロガーを取得し、必要に応じて、名前の新しいロガーを作成します。名前は通常、このクラスで名前が付けられています。
static logger logger = logger.getLogger(serverwithlog4j.class.getName());
注:ロギングにlog4jと組み合わせたコモンズロギングを使用することをお勧めします
private static logger = logfactory.getlog(yourclass.class);
2。録音情報を挿入します(フォーマットログ情報)
前の2つの必要な手順が完了したら、ログに記録する場所に異なる優先レベルのロギングステートメントを簡単に挿入できます。構文は次のとおりです。
logger.debug(オブジェクトメッセージ); logger.info(オブジェクトメッセージ); logger.warn(オブジェクトメッセージ); logger.error(オブジェクトメッセージ);
例えば:
org.apache.log4j。*をインポートします。 public class logtest ... {static logger logger = logger.getLogger(logtest.class.getName()); public static void main(string [] args)... {// log4j.propertiesファイルをpropertyconfiguratorを介してロードします。この文を追加しない場合、Spring Loading propertyConfigurator.configure( "./srclog4j.properties"); logger.debug( "debug ..."); logger.info( "info ..."); logger.warn( "Warn ..."); logger.error( "error ..."); }}要約します
上記は、編集者が導入したlog4j.propertiesの構成と読み込みアプリケーションです。私はそれが誰にでも役立つことを願っています。ご質問がある場合は、メッセージを残してください。編集者は、すべての人に時間内に返信します。 wulin.comのウェブサイトへのご支援ありがとうございます!