1.log4jライブラリをWEB-INF/lib/に入れる。
2.アプリケーションのweb.xmlに次のように記述する。
log4jConfigLocation
/WEB-INF/log4j.properties
org.springframework.web.util.Log4jConfigListener
3./WEB-INF/log4j.propertiesに記述する。(下記はjpetstoreにspringframeworkのログを追加したもの)
# For JBoss: Avoid to setup Log4J outside $JBOSS_HOME/server/default/deploy/log4j.xml!
# For all other servers: Comment out the Log4J listener in web.xml to activate Log4J.
log4j.rootLogger=INFO, stdout, logfile
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n
log4j.appender.logfile=org.apache.log4j.RollingFileAppender
log4j.appender.logfile.File=${petstore.root}/WEB-INF/petstore.log
log4j.appender.logfile.MaxFileSize=512KB
# Keep three backup files.
log4j.appender.logfile.MaxBackupIndex=3
# Pattern to output: date priority [category] - message
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - %m%n
log4j.logger.org.springframework=INFO
こんな感じです。
以下は失敗談
Eclipseのコンソールには次のようなメッセージが出力されていた。
一行目に気をとられ、二行目に気がつかなかった。
致命的: クラス org.springframework.web.util.Log4jConfigListener のリスナインスタンスにコンテキスト初期化イベントを送信中の例外です
java.lang.NoClassDefFoundError: org/apache/log4j/PropertyConfigurator
二行目はlog4jライブラリが入っていないか、あるいはCLASSPATHに通っていない場合に出力されるメッセージ。
No comments:
Post a Comment