2016-03-23 10 views
0

現在、指定したクラスのすべてのログを特定のファイルに保存します。 私のクラスでは、私は既に私のロガーをインスタンス化しています。私はlog4j.propertiesで、この特定のクラスのすべての情報を特定のファイルに記録するために、どの情報を書くべきか分かりません。特定のクラスのログ情報を特定のファイルに記録する方法は?

誰かが例を持っている場合、私はそれを取る:)事前に

おかげで、

答えて

1

をここであなたが始めることができlog4j.propertiesファイルの非常に基本的な例です:

log4j.logger.com.yourpackage.yourclass=INFO, YourLoggerName 

log4j.appender.YourLoggerName=org.apache.log4j.RollingFileAppender 
log4j.appender.YourLoggerName.File=/path/to/logfile/forthisappender 
log4j.appender.YourLoggerName.MaxFileSize=5M 
log4j.appender.YourLoggerName.MaxBackupIndex=10 
log4j.appender.YourLoggerName.layout=org.apache.log4j.PatternLayou 
log4j.appender.YourLoggerName.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%t] %-5p %c{1}:%L - %m%n 

さらに詳しい情報がありますhere

1

こんにちは、あなたはこの方法のいずれかで行うことができます

方法-1:すべての準備2-separate log4j設定ファイルの

まず者は、たとえばあなたがre-configure log4jプロパティ同様に、

org.apache.log4j.PropertyConfigurator.configure("log4jMy2.properties");* 

をすることができ、あなたの特定のクラスに

1. log4JMy.properties (for whole application , we can called it default) 
2. log4jMy2.properties (for specific class here in your case) 

をしましょう存在を変更するlog4jの設定とすることができますoverrideあなたのlog4jMy2.propertiesファイルです。

そのクラスでは完全に動作しますが、再度re-set to defaultにする必要がありますので、再度log4jに戻ります。


方法-2:

あなたのlog4j.propertiesファイルに、

log4j.rootLogger=DEBUG,FILE,ERROR_FILE 

log4j.appender.FILE=org.apache.log4j.RollingFileAppender 
log4j.appender.FILE.file=${catalina.base}/logs/myApplicationLogs.log 
log4j.appender.FILE.Append=true 
log4j.appender.FILE.Encoding=UTF-8 
log4j.appender.FILE.MaxFileSize=5MB 
log4j.appender.FILE.MaxBackupIndex=10 
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout 
log4j.appender.FILE.layout.conversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c:%L - %m%n 

log4j.appender.ERROR_FILE=org.apache.log4j.DailyRollingFileAppender 
log4j.appender.ERROR_FILE.file=${catalina.base}/logs/error_myApplicationLogs.log 
log4j.appender.ERROR_FILE.Append=true 
log4j.appender.ERROR_FILE.Encoding=UTF-8 
log4j.appender.ERROR_FILE.MaxFileSize=5MB 
log4j.appender.ERROR_FILE.MaxBackupIndex=10 
log4j.appender.ERROR_FILE.layout=org.apache.log4j.PatternLayout 
log4j.appender.ERROR_FILE.layout.conversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c:%L - %m%n 

としては、適切なコンフィギュレーションの変更と、のために、例えば を異なるレベルを割り当てます上記の構成ごとに、アプリケーションからは

LOG.debug("some text"); // it will print into myApplicationLogs.log file 

どこでも、 あなたが書き込み、

LOG.error("some erroneous text "); // it will print into error_myApplicationLogs.log file. 

であれば、それは...、ファイルをログに記録する、あなたの対応にlog4j構成ファイル単位ごとに最高の幸運をログを出力します!

関連する問題