設定Log 4 j詳細版

4132 ワード

もっと読む
来た:http://www.blogjava.net/zJun/archive/2006/06/28/55511.html
Log 4 Jのプロファイルとは、レコーダのレベル、ストレージ、レイアウトを設定するためのもので、key=valueフォーマットの設定またはxmlフォーマットの設定情報に接続することができます.設定により、Log 4 Jの運転環境を作成することができます.1.プロファイルLog 4 Jプロファイルの基本フォーマットは以下の通りです.
#   Logger
log4j.rootLogger  =   [ level ]   ,  appenderName1 ,  appenderName2 ,  …

#           Appender
log4j.appender.appenderName  =  fully.qualified.name.of.appender.class 
  log4j.appender.appenderName.option1  =  value1 
  … 
  log4j.appender.appenderName.optionN  =  valueN 

#         (  )
log4j.appender.appenderName.layout  =  fully.qualified.name.of.layout.class 
  log4j.appender.appenderName.layout.option1  =  value1 
  … 
  log4j.appender.appenderName.layout.optionN  =  valueN 
その中の[level]はログ出力レベルで、5級があります.
FATAL       0  
ERROR      3  
WARN       4  
INFO         6  
DEBUG      7 
Apppenderはログ出力先であり、Log 4 jが提供するアプリの種類は以下の通りです.
org.apache.log4j.ConsoleAppender(   ),
org.apache.log4j.FileAppender(  ),
org.apache.log4j.DailyRollingFileAppender(          ),
org.apache.log4j.RollingFileAppender(                     ),
org.apache.log4j.WriterAppender(                   )
Layout:ログ出力フォーマット、Log 4 j提供のlayoutには以下の種類があります.
org.apache.log4j.HTMLLayout( HTML      ),
org.apache.log4j.PatternLayout(           ),
org.apache.log4j.SimpleLayout(               ),
org.apache.log4j.TTCCLayout(         、  、      )
印刷パラメータ:Log 4 JはC言語のprintf関数と似たような印刷フォーマットログ情報を採用しています.以下の通りです.
%m             
  %p        , DEBUG,INFO,WARN,ERROR,FATAL 
  %r              log         
  %c          ,           
  %t                 
  %n            ,Windows   “/r/n”,Unix   “/n” 
  %d                ,     ISO8601,          ,  :%d{yyy MMM dd HH:mm:ss , SSS},    :2002 10 18   22 : 10 : 28 , 921  
  %l              ,     、     ,         。  :Testlog4.main(TestLog4.java: 10 ) 
2.コードの中でLoggarを初期化します.1)プログラムでBaicConfigrator.co.nfigureを呼び出します.ルートレコーダにConsolieApenderを追加します.出力フォーマットはPattern Layoutを通じて「%4 r[%t]%5 p%x-%m%n」に設定します.また、レコーダのデフォルトレベルはLevel.DEBUG.2です.ファイルの名前を転送します.PropertyConfigrator.co.nfigre(args[x])で解析して配置する.3)プロファイルに配置し、環境変数を通じてファイル名などの情報を伝達し、ロゴ4 jデフォルトの初期化プロセスを利用して解析して配置する.4)ファイルに配置し、アプリケーションサーバでファイル名などの情報を転送するために、特殊なservletを利用して構成を完了します.3.異なるApplenderのためにログ出力レベルを設定します.デバッグシステムの時、私達は常に注意しているのは異常レベルのログ出力だけですが、通常はすべてのレベルの出力は一つのファイルに入れています.ログ出力のレベルがBUGなら!?ゆっくり探してみます.この時、私たちは異常情報を単独で一つのファイルに出力できるといいと思うかもしれません.もちろんいいです.Log 4 jは既にこのような機能を提供しています.私達は配置の中でAppleのThreshldを修正するだけです.
以下の例のように実現できます.
[プロファイル]
 ### set log levels ###
log4j.rootLogger = debug ,  stdout ,  D ,  E

###        ###
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 =  %d{ABSOLUTE} %5p %c{ 1 }:%L - %m%n

###         ###
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = logs/log.log
log4j.appender.D.Append = true
log4j.appender.D.Threshold = DEBUG ##   DEBUG       
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n

###             ###
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = logs/error.log ##        
log4j.appender.D.Append = true
log4j.appender.D.Threshold = ERROR ##    ERROR       !!!
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n
[コードで使用]
 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 " );
    } 
}
実行してください.異常情報は別のファイルのerror.logに保存されていますか?