log 4 j基礎教程

9406 ワード

参照引用は---->http://javacrazyer.iteye.com/blog/1135493から
ロゴ4 jによる運転方式
import org.apache.log4j.Logger;   

import org.apache.log4j.PropertyConfigurator;   

public class TestLog4j {   

  static Logger logger = Logger.getLogger(TestLog4j.class);   

     public static void main(String args[]) {   

     PropertyConfigurator.configure("log4j.properties");   

     logger.debug("Here is some DEBUG");   

     logger.info("Here is some INFO");   

     logger.warn("Here is some WARN");   

     logger.error("Here is some ERROR");   

     logger.fatal("Here is some FATAL");   

   }   

}  
① Log 4 jのアーキテクチャ
ログ4 jシステムの三大プレート:ログライタ、ログ出力端末、ログレイアウトモード
log4j 基础教程
ロギング類はログパッケージの核心であり、ロギングの名称は大きさ表記に敏感であり、名称の間に継承関係がある.子の名前は父の名前からプレフィックスをして、点号「.」で区切ります.x.yはx.y.zの父ロガーです.ロガーシステムには、すべてのロガーの祖先がいます.常に存在し、名前では取得できません.ロガー・ゲットロギング()で取得できます.ロガーオブジェクトの取得方法は多く、APIドキュメントを参照することができますが、あるオブジェクトの中で、そのオブジェクトが属するクラスをパラメータとしてロギング.get Logger(Class clazz)を呼び出して、loggerオブジェクトを取得することが、現在知られている最も理性的なネーミングlogger方法とされています.
②ログ4 jのログレベル(レベル)        各loggerにはログレベルがあります.ログの出力を制御します.割り当てられていないレベルのロゴは、一番近い親のログレベルを自動的に継承します.ロギングの高さは以下の通りです.      ALL<DEBUG<INFO<WARN<ERROR>FATAL<OFF
③Log 4 jの出力端末(Apenderインターフェース)
org.apache.log4j.ConsoleAppender(   )     

org.apache.log4j.FileAppender(  )     

org.apache.log4j.DailyRollingFileAppender(           )     

org.apache.log4j.RollingFileAppender(                     ,              。)     

org.apache.log4j.WriterAppender(                    )
デフォルトでは、子loggerは親のloggerのすべてのアプリを引き継ぎます.
④Log 4 jの出力レイアウトパターン(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:     。     

%r:           log        。     

%c:       ,          。     

%n:         。Windows   “\r
”,UNIX “
”。 %d: , ISO8601, “%d{ABSOLUTE}”, :“2007-05-07 18:23:23,500”, 。 %l: , 、 , 。 %m: 。 %c: , 。 %t: 。
⑤Log 4 jの配置
実際の使用では、Log 4 jは、一般にプロファイル構成によって使用される.プロファイルは二つの種類があります.Java propertiesとXMLファイルです.一般的にはpropertiesファイルを使用して配置します.簡潔で読みやすいからです.以下はJava propertiesの構成のみを紹介します. ロギング4 jに対する配置はロギングとロギングの配置である.主な構成項目は、ロトロギング、出力端末、出力レイアウトモードであり、すべての構成項目はlog 4 jで始まる必要がある.     プロファイルの例
##Log4J                         

##Log4J             、  、    、      、         、          。          。     

    

##   (log4j.properties)      ,     liigo  。     

log4j.rootLogger = DEBUG, CONSOLE,A1 log4j.addivity.org.apache = true



#            

log4j.appender.CONSOLE = org.apache.log4j.ConsoleAppender     

log4j.appender.Threshold = DEBUG     

log4j.appender.CONSOLE.Target = System.out     

log4j.appender.CONSOLE.layout = org.apache.log4j.PatternLayout     

log4j.appender.CONSOLE.layout.ConversionPattern = [framework] %d - %c -%-4r [ %t] %-5p %c %x - %m %n     

#log4j.appender.CONSOLE.layout.ConversionPattern = [start] %d {DATE} [DATE] %n %p[PRIORITY] %n %x[NDC] %n %t[THREAD] n %c[CATEGORY] %n %m[MESSAGE] %n %n     

    

#          

log4j.appender.FILE = org.apache.log4j.FileAppender     

log4j.appender.FILE.File = file.log     

log4j.appender.FILE.Append = false    

log4j.appender.FILE.layout = org.apache.log4j.PatternLayout     

log4j.appender.FILE.layout.ConversionPattern = [framework] %d - %c -%-4r [ %t] %-5p %c %x - %m %n     

# Use this layout for LogFactor 5 analysis     

    

#             

log4j.appender.ROLLING_FILE = org.apache.log4j.RollingFileAppender     

log4j.appender.ROLLING_FILE.Threshold = ERROR     

log4j.appender.ROLLING_FILE.File = rolling.log     

log4j.appender.ROLLING_FILE.Append = true    

log4j.appender.ROLLING_FILE.MaxFileSize = 10KB     

log4j.appender.ROLLING_FILE.MaxBackupIndex = 1    

log4j.appender.ROLLING_FILE.layout = org.apache.log4j.PatternLayout     

log4j.appender.ROLLING_FILE.layout.ConversionPattern = [framework] %d - %c -%-4r [ %t] %-5p %c %x - %m %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 Facter 5    

log4j.appender.SOCKET.layout = org.apache.log4j.PatternLayout     

log4j.appender.SOCET.layout.ConversionPattern = [start] %d {DATE} [DATE] %n %p[PRIORITY] %n %x[NDC] %n %t[THREAD] %n %c[CATEGORY] %n %m[MESSAGE] %n %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=ERROR

log4j.appender.MAIL.BufferSize=1

log4j.appender.MAIL.SMTPHost=smtp.163.com

[email protected]

log4j.appender.MAIL.SMTPUsername=sexjl1

log4j.appender.MAIL.SMTPPassword=259695

log4j.appender.MAIL.Subject=Log4J Message

[email protected],[email protected]

log4j.appender.MAIL.Encoding=UTF-8

#Bcc mean send copy to this email

[email protected]

log4j.appender.MAIL.layout=org.apache.log4j.PatternLayout

log4j.appender.MAIL.layout.ConversionPattern=[framework] %d{yy-MM-dd HH:mm:ss} - %c -%-4r [ %t] %-5p %c %x - %m %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 ( ' [framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n ' )     

log4j.appender.DATABASE.layout = org.apache.log4j.PatternLayout     

log4j.appender.DATABASE.layout.ConversionPattern = [framework] %d - %c -%-4r [ %t] %-5p %c %x - %m %n 

    

log4j.appender.A1 = org.apache.log4j.DailyRollingFileAppender     

log4j.appender.A1.File = SampleMessages.log4j     

log4j.appender.A1.DatePattern = yyyyMMdd - HH ' .log4j '    

log4j.appender.A1.layout = org.apache.log4j.xml.XMLLayout     

    

#   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 = [framework] %d - %c -%-4r [ %t] %-5p %c %x - %m %n     

    
# com.bobo.code.web.controller WARN ,
# log.warn("message"),log.info("message"),log.error("message") .

#log.debug("message") , debug<WARN
# , WARN >=rootLogger DEBUG ( >= )
log4j.logger.com.bobo.code.web.controller=WARN #
プロファイルの詳細説明:
log 4 j.root Loggar=[level],apenderName,apenderName,…解釈:
 このうち、levelはログ記録の優先度であり、OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALLまたはカスタムレベルに分類される.Log 4 jは、4つのレベルだけを使用することを推奨しており、優先度が高いものから低いものまでそれぞれERROR、WARN、INFO、DEBUGである.ここで定義されたレベルによって、アプリケーションの各レベルのログ情報のスイッチを制御することができます.例えば、ここでINFOレベルを定義していますが、このレベル以上のものだけが処理されています.このアプリケーションのDEBUGレベルのログ情報はプリントされません.ALL:すべてのログを印刷し、OFF:すべてのログ出力をオフにします.apenderNameとは、ログ情報をどこに出力するかを指定します.複数の出力先を同時に指定できます.
ロゴ4 j.addivity.org.apache=true 説明: 子ロギングは父ロギングの出力元(appender)のロゴビットを継承しているかどうかです.具体的には、デフォルトではロギングは父ロガーのappenderを継承しています.つまりロギングは父ロガーのappenderから出力されます.additivityがfalseに設定されていると、子Loggarは自分のapenderにだけ出力します.父Loggerのapenderには出力しません.