Javaにおけるlog 4 j.propertiesの構成とローディングアプリケーションについて詳細に説明する。

7940 ワード

ロゴ4 j.propertiesまとめ:
紹介します
Log 4 jは、Apacheのオープンソースコード項目であり、Log 4 jを使用することによって、ログ情報の転送の目的地は、コンソール、ファイル、GUIコンポーネント、さらにはインターフェースサーバ、NTのイベントレコーダ、UNIX Syslogsの保護プロセスなどであることを制御することができる。私たちはまた、ログの出力フォーマットを制御することができます。各ログ情報のレベルを定義することにより、ログの生成プロセスをより詳細に制御することができます。
ログ4 jは三つの重要なコンポーネントで構成されています。ログ情報の優先度、ログ情報の出力先、ログ情報の出力フォーマット。ログ情報の優先度は、ERROR、WARN、INFO、DEBUGの高いものから低いものまで、それぞれこのログ情報の重要度を指定するために使用される。ログ情報の出力先はログがコンソールに印刷されますか?それともファイルに印刷されますか?出力フォーマットはログ情報の表示内容を制御します。
二、プロファイル
実際には、設定ファイルを全く使わずに、コードにLog 4 j環境を設定してもいいです。しかし、プロファイルを使うと、アプリケーションがより柔軟になります。
Log 4 jは二つの構成ファイルフォーマットをサポートしています。一つはXML形式のファイルで、一つはproperties形式のファイルです。propertiesフォーマットをプロファイルに使う方法を紹介します。
例:

log4j.rootLogger=INFO, A1 
log4j.appender.A1=org.apache.log4j.ConsoleAppender 
log4j.appender.A1.layout=org.apache.log4j.PatternLayout 
log4j.appender.A1.layout.ConversionPattern=%-4r %-5p [%t] %37c %3x - %m%n
1.ルートロギングを配置し、その文法は:

log4j.rootLogger = [ level ] , appenderName, appenderName, … 
このうち、levelはログ記録の優先度であり、OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALLまたは定義されているレベルに分けられています。Log 4 jは、4つのレベルだけを使用することを推奨しており、優先度が高いものから低いものまでそれぞれERROR、WARN、INFO、DEBUGである。ここで定義したレベルによって、アプリケーション内の該当レベルのログ情報のスイッチを制御することができます。例えば、ここでINFOレベルを定義すると、アプリケーション内のDEBUGレベルのログ情報はすべて印刷されなくなります。
apenderNameとは、ログ情報をどこに出力するかを指定します。複数の出力先を同時に指定できます。
2.ログ情報出力先のApppenderを設定します。その文法は以下の通りです。

log4j.appender.appenderName = fully.qualified.name.of.appender.class 
log4j.appender.appenderName.option1 = value1 
… 
log4j.appender.appenderName.option = valueN 
ここで、Log 4 jが提供するappenderには以下のような種類があります。

org.apache.log4j.ConsoleAppender(   ), 
org.apache.log4j.FileAppender(  ), 
org.apache.log4j.DailyRollingFileAppender(          ), 
org.apache.log4j.RollingFileAppender(                     ), 
org.apache.log4j.WriterAppender(                   ) 
(1).Consolie Apppenderオプション

Threshold=WARN:             。 
ImmediateFlush=true:    true,               。 
Target=System.err:      :System.out,        
(2).FileApppenderオプション
Threshld=WARN:ログメッセージの出力の最低レベルを指定します。
ImmediateFlash=true:デフォルト値はtrueで、すべてのメッセージがすぐに出力されるという意味です。
File=mylog.txt:指定メッセージをmylogs.txtファイルに出力します。
Apped=false:デフォルト値はtrueで、これから指定されたファイルにメッセージを追加します。falseとは、指定されたファイルの内容をメッセージで上書きします。
(3).DailyRollingFileApenderオプション
Threshld=WARN:ログメッセージの出力の最低レベルを指定します。
ImmediateFlash=true:デフォルト値はtrueで、すべてのメッセージがすぐに出力されるという意味です。
File=mylog.txt:指定メッセージをmylogs.txtファイルに出力します。
Apped=false:デフォルト値はtrueで、これから指定されたファイルにメッセージを追加します。falseとは、指定されたファイルの内容をメッセージで上書きします。
DatePattern='.'yyy-ww:毎週一回ファイルをスクロールします。毎週新しいファイルを作成します。もちろん、月、週、日、時、分を指定することもできます。対応するフォーマットは以下の通りです。 
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:ログメッセージの出力の最低レベルを指定します。
ImmediateFlash=true:デフォルト値はtrueで、すべてのメッセージがすぐに出力されるという意味です。
File=mylog.txt:指定メッセージをmylogs.txtファイルに出力します。
Apped=false:デフォルト値はtrueで、これから指定されたファイルにメッセージを追加します。falseとは、指定されたファイルの内容をメッセージで上書きします。
MaxFileSize=100 KB:拡張子はKB、MBまたはGBであります。ログファイルがこの時間に達すると、自動的にスクロールして元の内容に移行します。
mylog.log.1ファイルです。
MaxBackupIndex=2:生成できるスクロールファイルの最大数を指定します。
3.ログ情報のレイアウトを設定します。
log 4 j.appender.appender Name.layout=fully.qualifed.name.off.layout.class
log 4 j.apender.apenderName.layout.option 1=value 1

log 4 j.apender.apenderName.layout.option=valueN
ここで、Log 4 jが提供するlayoutには以下のような種類がある。
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(ログ生成の時間、スレッド、カテゴリなどの情報を含む)
4、出力フォーマット設定
設定ファイルでは、ログ4 j.apender.A 1.layout.C.onversionPatternでログ出力フォーマットを設定することができます。
パラメータ:
%p:出力ログ情報優先度はDEBUG,INFO,WARN,ERROR,FATALであり、
%d:出力ログポイントの日付または時間は、デフォルトのフォーマットはISO 8601であり、その後にフォーマットを指定することもできます。例えば%d{yy MMM dd HH:mm:ss,SSS}出力は同様です。2002年10月18日22時28分、921
%r:アプリケーション起動から出力までにかかったミリ秒数を出力します。
%c:出力ログ情報が属するクラスは、通常は所在クラスのフルネームです。
%t:ログイベントを生成するスレッド名を出力します。
%l:出力ログイベントの発生位置は、クラス名、発生スレッド、コード内の行数に相当します。例:Testlog4.main(TestLog 4.Java:10)
%x:出力と現在のスレッドに関連するNDC(入れ子診断環境)は、特にJava servletsのようなマルチスレッドのアプリケーションに使用されます。
%1:一つの"%"の文字を出力します。
%F:ログメッセージ生成時のファイル名を出力します。
%L:コードの行番号を出力します。
%m:コードで指定されたメッセージを出力し、ログの詳細情報を生成します。
%n:回車の改行を出力します。Windowsプラットフォームは\r、Unixプラットフォームは”出力ログ情報は改行します。
%とモード文字の間に修飾子を追加して、その最小幅、最大幅、テキストの配置を制御できます。例えば:
1)%20 c:指定出力categoryの名前は、最小の幅は20で、categoryの名前が20未満の場合、デフォルトの場合は右揃えです。
2)%20 c:出力categoryの名前を指定し、最小の幅は20です。categoryの名前が20未満の場合、「-」号は左揃えを指定します。
3)%330 c:出力categoryの名前を指定して、最大の幅は30で、categoryの名前が30より大きいと、左の多くの文字を切りますが、30より小さいとスペースがありません。
4)%20.30 c:categoryの名前が20以下であれば、スペースを補い、右揃えであれば、その名前が30文字以上であれば、左から出荷された文字をカットします。
三、ロゴ4 j.propertiesファイルをロードする
 1、スプリング方式でロードし、web.xmlに配置する:
Spring logs 4 j.propertiesはLog 4 jConfigListenerを提供しています。自身はweb.xml構成を通じて指定された位置からlogl 4 jプロファイルとlog4 jの出力経路をロードすることができます。注意してください。
Log 4 jConfigListenerはSpringのListenerの前にいなければなりません。
web.xml

<!--    Sprng   Log4j       -->
<context-param> 
  <param-name>log4jConfigLocation</param-name> 
  <param-value>WEB-INF/classes/log4j.properties</param-value> 
</context-param> 
 <!-- Spring  Log4j         ,      -->
<context-param> 
  <param-name>log4jRefreshInterval</param-name> 
  <param-value>10000</param-value> 
</context-param> 
<listener> 
  <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class> 
</listener> 
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 " );
  } 
} 
四、プログラムでの使用
プログラムでLog 4 jを使用する前に、まずcommons-loging.jarとloging-logs 4 j-1.2.jarをclassipathに導入し、logs 4 j.propertiesをsrcルートディレクトリに置く。これから使えます。
1.レコーダを得る
ログ4 jを使用して、第1ステップはログレコーダを取得することであり、このレコーダはログ情報を制御することになる。その文法は以下の通りです
public staticロギング・ロギング(String name)、
レコーダは、指定された名前で取得します。必要であれば、この名前のために新しいレコーダを作成します。Nameは主に本類の名前を取っています。例えば:

static Logger logger = Logger.getLogger ( ServerWithLog4j.class.getName () ) ;
注:commons-logingを使用してlogl 4 jを結合してログを記録することを推奨します。

private static Log logger = LogFactory.getLog(Yourclass.class);
2.記録情報の挿入(ログ情報のフォーマット)
前の2つの必要なステップが完了すると、異なる優先レベルのログ記録文を簡単に使用してログを記録したい場所に挿入できます。その文法は以下の通りです。

Logger.debug ( Object message ) ; 
Logger.info ( Object message ) ; 
Logger.warn ( Object message ) ; 
Logger.error ( Object message ) ;
たとえば:

 import org.apache.log4j.*;
 public class LogTest ...{  
   static Logger logger = Logger.getLogger(LogTest.class.getName());
   public static void main(String[] args) ...{
 //  PropertyConfigurator  log4j.properties  ,        ,  spring   
     PropertyConfigurator.configure ( “.\srclog4j.properties”);
     logger.debug("Debug ...");
     logger.info("Info ...");
     logger.warn("Warn ...");
     logger.error("Error ...");
   }
 }
締め括りをつける
以上は小编が皆さんに绍介したlogs 4 j.propertiesの配置とローディングアプリケーションです。皆さんに何かお聞きしたいことがあれば、メッセージをください。ここでも私たちのサイトを応援してくれてありがとうございます。