ロゴ4 jのレコードソースコードの行番号の設定を開くと、システムの性能に影響があります。


<style type=“text/css”.CodeFormat{font-family:“Courier New”,Courier,mono;font-size:10 pt;今日はある文章を見て、Log 4 jのシステムの効能に対する影響を説明します。整理は以下の通りです。
一般的に、ロゴ4 jでロゴを書く時は、下記のような記録に慣れています。
2005-01-11 09:57,816 DEBUG(BizProc.java:275)Begin to get connection...2005-01-11 09:57:57,816 DEBUG(BizProc.java:275)Obtain connection2345@defd2005-01-11 09:57,816 DEBUG(BizProc.java:275)Begin transaction[TX_2015_RECV]processing...2005-01-11 09:57,925 DEBUG(BizProc.java:328)All of the values were:
ここではJava Source Codeの行番号を持ち出します。間違いを探すのに便利です。
しかし、これも問題です。Log 4 jが行号を得ることができるのはJVMの特性を使っています。もしJavaプログラムが実行中にエラーが発生したら、次のような情報があります。
javax.naming.NamingException:Canot create rerereourrerererereourererereourinstancaorg.apaache. naming.inming.factory.ResceFactory.getObjecInstancnce(ResorFactory.java:189) ajavax.navax.navax.name.nag. nag. nag. nag. ming.ming.ininininininggggg. inininininininininininininininggggggggggggggggttttttttttttttttttttttttup(NamingContect.java:834)at org.apache.naming.NamingContect.lookup(NamingConttext.java:181)at org.apaache.naming.NamingConttext.lookup(NamingConttext.java:822)aorg.apache.naming.NamingCotext.lookup(NamingCotext.java:java:java:ttttttttttttttttnananananananagnananananananananananananananananananananananagggttttttttttttttttttttttttttttttttttttttttttgConttext.lookup(NamingContect.java:181)at org.apphe.naming.Naming Contectxt.lookup(NamingContect.java:822)at org.apacthe.naming.Naming Contactxt.lookup(NamingContactxt.java:194)at org.apache.naming.SelectortControtext.lookup(SelectortCont.java:183)ajava.naming.Initial Cont.Initup.Intjatja.Cont.Controtjatjatjatjatttttjattttjatttttttjattch(Cont.Cont.Cont.
黒い文字が見えませんでした。JVMはすでにDebugモビリティナンバーをサポートしています。しかし、ここは間違いの時、JVMが投げたのです。なぜロゴ4 j.infoを使う時にも行番号が見えますか?
次に重点を置いて、Log 4 jに行番号を記録する過程です。
(1)log 4 j.info()を呼び出したり、log 4 j.debug()方法...(2)Throwableのオブジェクトを作って、現在のランタイムスタックのスナップショットを取得したり…Throwable.fillInStackTrace();(3)投げ出したThrowableオブジェクトから、現在のlogs情報の行番号を解析したり…
ただし、運転時のスタック追跡はJVMにとって非常に大きなオーバーヘッドですので、ご注意ください。
だから、私達はlog 4 jのPattern Layoutを配置する時、もしオンラインで正式な環境に行くならば、きっと記者を要してパラメーターを消して、普通は、“%d%5 p%m%n”を使って満足することができます!
原文はここを参照してください。
Sneaky,sneaky Log 4 J
==============================================================================================================================
補遺編~~!
log 4 j.root Loggar=info,Consolie
log 4 j.logger.net.cdn.blog.xport=debug,RollingFile
log 4 j.additivity.net.csdn.blog.xport=false
log 4 j.apender.solie=org.apache.log 4 j.sonine solieApender
log 4 j.appnder.solone.layout=org.apaache.log 4 j.Pattern Layout
log 4 j.appnder.soline.layout.conversionPattern=%d%5 p[%t]%C{1}-%n
log 4 j.appenger.RollingFile=org.apache.log 4 j.RollingFileApppender
log 4 j.appnder.RollingFile.File=System Log.log
log 4 j.apender.RollingFile.Apppend=true
log 4 j.appnder.RollingFile.MaxFileSize=2 MB
log 4 j.appnder.RollingFile.layout=org.apphe.log 4 j.Pattern Layout
log 4 j.appnder.RollingFile.layout.conversionPattern=%d%5 p[%t]%C{%1}-%m%n