2017-05-06 7 views

答えて

0

この設定をロギングに使用できます。また、ログファイルのパスを変更することもできます。例えば

# Root logger option 
log4j.rootLogger=INFO, file 

# Direct log messages to a log file 
log4j.appender.file=org.apache.log4j.RollingFileAppender 

#Redirect to Tomcat logs folder 
#log4j.appender.file.File=${catalina.home}/logs/logging.log 

log4j.appender.file.File=./logs/test.log // change your path 
log4j.appender.file.MaxFileSize=10MB 
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{1}:%L - %m%n 


log4j.logger.org.springframework=WARN 
log4j.logger.com.amstech=DEBUG 
+0

ログlog4j.appender.file.File =。/ログ/ test.logにリダイレクトされ、それが指定されている場所を、残りのログは、デフォルトのcatalina.outに行きますパッケージ名がありますか? – user1846749

1

、あなたの二つのパッケージのためのログファイルは、次のとおりです。

com.abhi.packageOne; -> packageOneFile.log 
com.abhi.packageTwo; -> packageTwoFile.log 

はファイルやコンソールとしてrootLoggerを追加します。あなたはそれに応じて加算を設定する必要があなたの二つのパッケージ

log4j.appender.MAIN_LOG=org.apache.log4j.RollingFileAppender 
log4j.appender.MAIN_LOG.File=/path/main.log 
log4j.appender.MAIN_LOG.layout=org.apache.log4j.PatternLayout 

log4j.appender.PACKAGE_ONE=org.apache.log4j.RollingFileAppender 
log4j.appender.PACKAGE_ONE.File=/path/packageOneFile.log 
log4j.appender.PACKAGE_ONE.layout=org.apache.log4j.PatternLayout 

log4j.appender.PACKAGE_TWO=org.apache.log4j.RollingFileAppender 
log4j.appender.PACKAGE_TWO.File=/path/packageTwoFile.log 
log4j.appender.PACKAGE_TWO.layout=org.apache.log4j.PatternLayout 

のための2つの新しいアペンダを作成する必要が

log4j.rootLogger=Debug, file 

あなたの要件ごとにどのログレベル、すなわちトレース、情報、errrorなどを維持することができます。

中毒性とは何ですか?

ログの冗長性を避けるため、Log4j加算性を使用できます。 Log4jロガーのadditivityプロパティーをfalseに設定するだけで、そのロガーに送られるログメッセージは親ロガーに伝搬されません。したがって、新しいLog4j構成ファイルは次のようになります。

log4j.additivity.com.abhi.packageOne=false 
log4j.additivity.com.abhi.packageTwo=false 

log4j.logger.com.abhi.packageOne=DEBUG, PACKAGE_ONE 
log4j.logger.com.abhi.packageTwo=DEBUG, PACKAGE_TWO 

log4j.rootLogger=DEBUG, MAIN_LOG 

ここで、MAIN_LOGは通常のログファイルです。 PACKAGE_ONEとPACKAGE_TWOのログをMAIN_LOGにも出力したい場合は、以下の行を含めます。

log4j.rootLogger=DEBUG, MAIN_LOG , PACKAGE_ONE , PACKAGE_TWO 
+0

log4j.rootLogger = DEBUG、MAIN_LOG、PACKAGE_ONE、PACKAGE_TWOこのステートメントは何ですか?詳しく説明できますか? 、log4j.additivity.com.abhi.packageOne = false、log4j.rootLogger = DEBUG、MAIN_LOG、PACKAGE_ONEが同時に必要ですか? – user1846749

+0

私は同じ方法でロガーを定義しました。私の場合、ログはファイルではなくコンソールに表示されますが、コンソールアペンダーはどこにも定義されていません。 – user1846749

+0

これらのすべての文の上に 'log4j.rootLogger = debug、file'を追加する必要があります。私は答えを更新しました。 –

関連する問題