トップ 差分 一覧 ソース 検索 ヘルプ PDF RSS ログイン

log4j

サンプル log4j.properties for PC-Unix

log4j.rootLogger=info, R
log4j.logger.org.apache.struts=WARN
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=example.log
log4j.appender.R.MaxFileSize=100KB
log4j.appender.R.MaxBackupIndex=1
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n

サンプル log4j.properties for win

サンプル log4j.xml

自分ルール

Appenderの利用

コンソール

  • org.apache.log4j.ConsoleAppender

固定ファイル

  • ログサイズ・切り替えに注意
  • org.apache.log4j.FileAppender

日付切替

  • org.apache.log4j.DailyRollingFileAppender

サイズ切替

  • org.apache.log4j.RollingFileAppender

標準出力・標準エラー出力

  • org.apache.log4j.WriterAppender

JMS(Java Message Service)

  • org.apache.log4j.net.JMSAppender

電子メール

  • org.apache.log4j.net.SMTPAppender
  • 重大なイベントの早期通知

syslog

  • org.apache.log4j.net.SyslogAppender

開発環境

  • スタックトレースはコンソール
  • 操作ログ+デバッグログ:ファイル
  • 操作ログ:ファイル

本番環境

  • 基本的にファイル

操作ログ+デバッグログ

  • 保存期間: 短期、1か月など

操作ログ

  • 保存期間: 長期、1年・3年など

参考サイト

log4j 本家

Log4j Q&A / okisoft

Log4Jの基本 / TECHSCORE

Log4J徹底解説

Log4Jの出力レベル設定について / @IT会議室

特に悶吉さんに教えて頂いたBEAさんのJSPを拝見したのですが、今回、動的にログレベルを設定する箇所は

Logger rootLogger = LogManager.getRootLogger(); 
rootLogger.setLevel(Level.DEBUG); 

とすることで問題なくいけそうな感じです。