"リクエスト"があったので調べてみる。
まだメモ段階。
- Log::Dispatchを入れないといけない
- Log::Dispatch::FileRotateをいれないといけない
設定ファイルの書き方は多分こう。(前回のに追加してみた)
log4perl.logger.mylogger = DEBUG, FileAppndr1, Rolling
log4perl.appender.FileAppndr1 = Log::Log4perl::Appender::File
log4perl.appender.FileAppndr1.filename = debug.log
log4perl.appender.FileAppndr1.layout = Log::Log4perl::Layout::PatternLayout
log4perl.appender.FileAppndr1.layout.ConversionPattern = %d %F(%L) [%p] %m %n
log4perl.appender.Rolling=Log::Log4perl::JavaMap::RollingFileAppender
log4perl.appender.Rolling.File=roll.log
なんかコケるんですけどっ!!
Can't use string ("debug") as a HASH ref while "strict refs" in use at C:/Perl/site/lib/Log/Log4perl/JavaMap/RollingFileAppender.pm line 12.
ってことでConfigを書き直した。
http://search.cpan.org/~mschilli/Log-Log4perl-1.02/lib/Log/Log4perl.pmに、log4jって書いてあるのに勝手にperlにしたのがイケナイらしい。
log4perl.logger.mylogger=DEBUG,R log4j.appender.R=org.apache.log4j.RollingFileAppender log4j.appender.R.File=roll.log log4j.appender.R.layout = Log::Log4perl::Layout::PatternLayout log4j.appender.R.layout.ConversionPattern=%p %c - %m%n
んで、
http://search.cpan.org/~mschilli/Log-Log4perl-1.04/lib/Log/Log4perl/JavaMap/RollingFileAppender.pmを見ると、
Possible config properties for Log::Dispatch::FileRotate are filename mode "write|append" autoflush 0|1 size max
ってことらしいんで、ためしに以下を加えた。
(この辺わかりにくいなー。)
log4j.appender.R.size=20 log4j.appender.R.max=10
三回くらい実行してみたら
2006/04/21 16:31 40 roll.log 2006/04/21 16:31 38 roll.log.1 2006/04/21 16:31 40 roll.log.2 2006/04/21 16:31 38 roll.log.3 2006/04/21 16:31 40 roll.log.4 2006/04/21 16:31 38 roll.log.5
確かにrotateされてるよ!