Log4perlを読んでいて、Linuxボックスで実行されているPerlスクリプトの簡単なログ管理に使用したいと思っています。私も読んだことがありますnewsyslog
がlogrotate
、可能であればLog4perlを使用したいと思います。
/etc/log4perl.conf
次のようにファイルを構成しようとしています。
widget
すべての出力をに書き込むロガー(INFO
レベル)を定義します/opt/myapp/logs/myapp-<datetime>.log
。ここで、<datetime>
は次のような日付/時刻形式の文字列です。2012-12-20
- この
myapp-<datetime>.log
ファイルは毎日(できれば深夜に)ローテーションする必要があります。古いファイルは削除され、新しいファイルは。で作成され<datetime> + 1
ます。たとえば、などmyapp-2012-12-20.log
に置き換えられます。myapp-2012-12-21.log
これが私の最善の試みであり、近いと思いますが、まだいくつかの構成が欠落しています。
#####/etc/log4perl.conf############################################################
log4perl.logger.widget = INFO, MyAppLogAppender
log4perl.appender.MyAppLogAppender = Log::Log4perl::Appender::File
log4perl.appender.MyAppLogAppender.filename = /opt/myapp/logs/myapp-???.log
log4perl.appender.MyAppLogAppender.layout = Log::Log4perl::Layout::SimpleLayout
###################################################################################
log4perl.appender.MyAppLogAppender
1日に1回ローテーションし、古いファイルを削除し、正しいタイムスタンプで新しいファイルを作成するように構成するにはどうすればよいですか?前もって感謝します。