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);
とすることで問題なくいけそうな感じです。