Log 4 jとcommon-loging
ネット上でLog 4 jとcomon-logingの紹介を探して記録しています。
一.Log 4 j
1.概要
Log 4 jはApacheのオープンソースコード項目です。
Log 4 jを使って、私達はとても便利にログを記録することができます。
から
http://www.apache.org/dist/logging/log4j/1.2.14/最新の安定バージョンをダウンロードします。
2.使い方
log 4 j-1.2.14.jarをlibディレクトリに落として、log 4 jを使う前にプロファイルを定義する必要があります。使わなくてもいいです。コードの中にlog 4 j環境を設定します。しかし、プロファイルを使ってアプリケーションをより柔軟にします。
logl 4 jプロファイルには三つの主要なコンポーネントがあります。ロギング、アプリとLayout、それぞれログタイプ、ログ出力先、ログ出力フォーマットです。
proxoolと似ています。log 4 jは2種類のプロファイル、xmlとpropertiesをサポートします。
log 4 j.propertiesプロファイルは以下の通りです。
log 4 j.root Loggar=[level],apenderName,apenderName,… (levelはエラーレベルであり、apenderNameは出力先であり、複数の定義が可能である)
level優先度は、それぞれFATAL、ERROR、WARN、INFO、DEBUGの5つのレベルです。定義されたレベルによって、プログラム内のログ出力を制御できます。例えば、ここでERRORレベルを定義しています。プログラムにはFARAL、ERRORレベルのLOGのみが出力されます。
log 4 j.appnder.appnderName=出力先(ここのappnderNameは前で定義されています。任意に名前をつけてもいいです。)
Log 4 jが提供する出力先は、以下のような種類がある。
org.apache.log 4 j.sonine solieApppender(コンソール)
org.apache.log 4 j.FileApppender(ファイル)
org.apache.logl 4 j.DailyRollingFileApender(毎日1つのログファイルを生成する)
org.apphe.logl 4 j.RollingFileApppender(ファイルが指定された時間までに新しいファイルを作成します)
org.apache.log 4 j.WriterApender(ログ情報をストリーミング形式でどこにでも送信する)
log 4 j.apender.mylog.File=dir
log 4 j.apender.mylogs.MaxFileSize=fileSize
log 4 j.appnder.mylog.MaxBackup Index=num設定保存バックアップファイル数
log 4 j.apender.apender Name.layout=レイアウトタイプを設定する(レイアウトタイプを設定する)
まずログクラスをインポートする必要があります。
二.commons-loging紹介
log 4 jとcommons-logingの二つのカバンは全部日記をつけています。なぜ二つを一緒に使いますか?
commons-loggingは「すべてのJavaログ実現」のために統一インターフェースを提供しています。それ自体のログ機能は普通に弱いです。logs 4 j機能は非常に強力で全面的です。
commons-loging作業原理:
1.まずはclassipathの下で自分の配置ファイルcommons-loging.propertiesを探して、見つけたら、その中で定義されているLog実現類を使ってください。
2.comons-loging.propertiesファイルが見つからない場合、システム環境変数org.apphe.com mmons.loging.Logが定義されているかどうかを検索します。見つけたら、その定義のLog実装クラスを使用します。
3.classipathの中にLog 4 jのカバンがあるかどうかを確認し、発見すれば自動的にログ4 jをログ実現類として使用する。
4.JDK自身のログを使ってクラスを実現する(JDK 1.4以降はログ実現類がある)
5.commons-logingを使って自分が提供する簡単なログを実現するクラスSimpleLog
(以上の順序は完全に正確ではないので、公式文書を参照してください)
commons-loggingはいつも一つのログを見つけることができます。そして、できるだけ「最適」なログを見つけます。
1、設定ファイルを必要としなくてもいいです。
2、自動的にLog 4 jカバンがあるかどうかを判断し、あると自動的に使う。
3、最も悲観的な状況でも必ず一つのログを提供することを保証する(SimpleLog)
また、ロゴ4 jの使い方には問題があると思います。
static Loggar logger=ロギング.get Logger(message)
各ログを書く必要があるjavaクラスは、static loggerの例を作成しなければなりません。javaクラスが多いと、これらのstaticオブジェクトを作成するオーバーヘッドが非常に大きいので、最後に自分でlogクラスを書きます。静的な方法でloggerのインスタンスを得ることができます。
LOG 4 Jの構成を簡単にすることで、より多くのアプリケーションに遍及させました。Log 4 Jプロファイルはコンソール、ファイル、ロールバックファイル、ログメールの送信、データベースログテーブルへの出力、カスタムラベルなどのフルセットの機能を実現しました。一つ二つ選んで使えば十分です。
log 4 j.rootLogger=DEBUG、CONSOSE、A 1、im
ロゴ4 j.addivity.org.apache=true
権力台に応用する。
一.Log 4 j
1.概要
Log 4 jはApacheのオープンソースコード項目です。
Log 4 jを使って、私達はとても便利にログを記録することができます。
から
http://www.apache.org/dist/logging/log4j/1.2.14/最新の安定バージョンをダウンロードします。
2.使い方
log 4 j-1.2.14.jarをlibディレクトリに落として、log 4 jを使う前にプロファイルを定義する必要があります。使わなくてもいいです。コードの中にlog 4 j環境を設定します。しかし、プロファイルを使ってアプリケーションをより柔軟にします。
logl 4 jプロファイルには三つの主要なコンポーネントがあります。ロギング、アプリとLayout、それぞれログタイプ、ログ出力先、ログ出力フォーマットです。
proxoolと似ています。log 4 jは2種類のプロファイル、xmlとpropertiesをサポートします。
log 4 j.propertiesプロファイルは以下の通りです。
log 4 j.root Loggar=[level],apenderName,apenderName,… (levelはエラーレベルであり、apenderNameは出力先であり、複数の定義が可能である)
level優先度は、それぞれFATAL、ERROR、WARN、INFO、DEBUGの5つのレベルです。定義されたレベルによって、プログラム内のログ出力を制御できます。例えば、ここでERRORレベルを定義しています。プログラムにはFARAL、ERRORレベルのLOGのみが出力されます。
log 4 j.appnder.appnderName=出力先(ここのappnderNameは前で定義されています。任意に名前をつけてもいいです。)
Log 4 jが提供する出力先は、以下のような種類がある。
org.apache.log 4 j.sonine solieApppender(コンソール)
org.apache.log 4 j.FileApppender(ファイル)
org.apache.logl 4 j.DailyRollingFileApender(毎日1つのログファイルを生成する)
org.apphe.logl 4 j.RollingFileApppender(ファイルが指定された時間までに新しいファイルを作成します)
org.apache.log 4 j.WriterApender(ログ情報をストリーミング形式でどこにでも送信する)
log 4 j.apender.mylog.File=dir
log 4 j.apender.mylogs.MaxFileSize=fileSize
log 4 j.appnder.mylog.MaxBackup Index=num設定保存バックアップファイル数
log 4 j.apender.apender Name.layout=レイアウトタイプを設定する(レイアウトタイプを設定する)
Log4j layout 4 :
org.apache.log4j.HTMLLayout( HTML )
org.apache.log4j.SimpleLayout( )
org.apache.log4j.TTCCLayout( 、 、 )
org.apache.log4j.PatternLayout( )
Pattern Layoutレイアウトを使うと指定される印刷情報の具体的なフォーマットCoversionPatternがあります。印刷パラメータは以下の通りです。%m
%p , DEBUG,INFO,WARN,ERROR,FATAL
%r log
%c ,
%t
%n ,Windows "rn",Unix "n"
%d , :%d{yyyy MMM dd HH:mm:ss,SSS}, :2007 5 17 19:30:00,000
%l , 、 ,
[QC] log , ,
最も簡単で共通のプロファイル(コンソールから印刷):log4j.rootLogger=info,mylog
log4j.appender.mylog=org.apache.log4j.ConsoleAppender
log4j.appender.mylog.layout=org.apache.log4j.PatternLayout
log4j.appender.mylog.layout.ConversionPattern=[-] %p %d{yyyy-MM-dd HH:mm:ss} %m %n
log4j.rootLogger=info,mylog
log4j.appender.mylog=org.apache.log4j.ConsoleAppender
log4j.appender.mylog.layout=org.apache.log4j.SimpleLayout
コード内のロゴ4 jの使用:まずログクラスをインポートする必要があります。
import org.arache.log4j.Logger;
static Logger logger = Logger.getLogger(your-className.class);
#
logger.debug(your-message);
logger.info(your-message);
logger.warn(your-message);
logger.error(your-message);
logger.fatal(your-message);
プログラムを書く時には、デバッグのために大量のlogger情報が入ります。もちろんプログラムのデバッグが完了しても、これらの出力情報が必要でない場合は、出力のレベルを上げるだけで、errorレベルに変更すると、error以下のレベルのloggerは出力されません。とても簡単で便利です。二.commons-loging紹介
log 4 jとcommons-logingの二つのカバンは全部日記をつけています。なぜ二つを一緒に使いますか?
commons-loggingは「すべてのJavaログ実現」のために統一インターフェースを提供しています。それ自体のログ機能は普通に弱いです。logs 4 j機能は非常に強力で全面的です。
commons-loging作業原理:
1.まずはclassipathの下で自分の配置ファイルcommons-loging.propertiesを探して、見つけたら、その中で定義されているLog実現類を使ってください。
2.comons-loging.propertiesファイルが見つからない場合、システム環境変数org.apphe.com mmons.loging.Logが定義されているかどうかを検索します。見つけたら、その定義のLog実装クラスを使用します。
3.classipathの中にLog 4 jのカバンがあるかどうかを確認し、発見すれば自動的にログ4 jをログ実現類として使用する。
4.JDK自身のログを使ってクラスを実現する(JDK 1.4以降はログ実現類がある)
5.commons-logingを使って自分が提供する簡単なログを実現するクラスSimpleLog
(以上の順序は完全に正確ではないので、公式文書を参照してください)
commons-loggingはいつも一つのログを見つけることができます。そして、できるだけ「最適」なログを見つけます。
1、設定ファイルを必要としなくてもいいです。
2、自動的にLog 4 jカバンがあるかどうかを判断し、あると自動的に使う。
3、最も悲観的な状況でも必ず一つのログを提供することを保証する(SimpleLog)
また、ロゴ4 jの使い方には問題があると思います。
static Loggar logger=ロギング.get Logger(message)
各ログを書く必要があるjavaクラスは、static loggerの例を作成しなければなりません。javaクラスが多いと、これらのstaticオブジェクトを作成するオーバーヘッドが非常に大きいので、最後に自分でlogクラスを書きます。静的な方法でloggerのインスタンスを得ることができます。
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
public class Logs {
private static Log log;
static{
log=LogFactory.getLog(Logs.class);
}
public static Log getLogger(){
return log;
}
}
三.Log 4 jに関する全面的な配置LOG 4 Jの構成を簡単にすることで、より多くのアプリケーションに遍及させました。Log 4 Jプロファイルはコンソール、ファイル、ロールバックファイル、ログメールの送信、データベースログテーブルへの出力、カスタムラベルなどのフルセットの機能を実現しました。一つ二つ選んで使えば十分です。
log 4 j.rootLogger=DEBUG、CONSOSE、A 1、im
ロゴ4 j.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
ヽoo!ツ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=FATAL
log4j.appender.MAIL.BufferSize=10
[email protected]
log4j.appender.MAIL.SMTPHost=www.wusetu.com
log4j.appender.MAIL.Subject=Log4J Message
[email protected]
log4j.appender.MAIL.layout=org.apache.log4j.PatternLayout
log4j.appender.MAIL.layout.ConversionPattern=[framework] %d - %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.db.sql=INSERT INTO SS_LOG4J_LOG (PRIORITY,LOGDATE,CLASS,METHOD,MSG) VALUES('%p','%d{yyyy-MM-dd HH:mm:ss}','%C','%M','%m')
log4j.appender.db.layout=org.apache.log4j.PatternLayout 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
カスタムApppenderlog4j.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