나는 Log4perl을 읽고있어 리눅스 상자에서 실행중인 Perl 스크립트의 간단한 로그 관리에이 스크립트를 사용하려고한다. 또한 newsyslog
과 logrotate
을 읽었지만 가능한 경우 Log4perl을 사용하려고합니다.Log4perl에서 매일 내 로그를 순환시키는 방법은 무엇입니까?
내가 있도록 /etc/log4perl.conf
파일을 구성하기 위해 노력하고있어 :
- 가
widget
로거 (INFO
수준)를 정의<datetime>
이2012-12-20
같은 문자열을 형식의 날짜/시간입니다/opt/myapp/logs/myapp-<datetime>.log
, 모든 출력을 쓸 것 - 이 파일은 이전 파일이 삭제되고
<datetime> + 1
으로 새 파일이 생성되는 매일 매일 (자정이 바람직 함) 회전되어야합니다. 예를 들어,myapp-2012-12-20.log
는myapp-2012-12-21.log
로 대체 할 것 등 여기
내가 믿는 내 최고의 시도가 가까운,하지만 여전히 일부 구성 행방 불명입니다 : 어떻게 회전 log4perl.appender.MyAppLogAppender
를 구성 할
#####/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
###################################################################################
을 하루에 한 번 오래된 파일을 삭제하고 올바른 타임 스탬프가있는 새 파일을 만드시겠습니까? 미리 감사드립니다.
최고 @creaktive (+1) - 한 가지 더 :'log4perl.appender.Logfile.layout' 후 "\"의 의미가 무엇인가? 이를 제거하고 같은 줄에 (Log :: Log4perl :: Layout :: PatternLayout') 값을 넣을 수 있습니까? 다시 한 번 감사드립니다! – IAmYourFaja
또한, * Log4perl을 사용하는 * Perl 스크립트가이'위젯 '로거를 사용할 수 있다고 가정합니까? – IAmYourFaja
죄송합니다, 이것이 마지막 후속 조치입니다 :'LogFile' appender를 사용하려면'WARN' 레벨을 설정하는 것처럼 보입니다. 모든 로그 레벨 (WARN 또는 기타)에 대해 appender에 로거를 첨부하는 방법이 있습니까? 다시 한 번 감사드립니다! – IAmYourFaja