2013-05-30 6 views
2

을 다시 응용 프로그램 프로세스 HUP 신호를 댄서 수어떻게 닫/I 로그 설정과 더불어, 댄서 응용 프로그램을 작성 로그 파일

plackup -E 배포 -D - 의 Starman --workers = 10 --port 8080 -a 함은

은 logrotate에와 로그 파일을 회전 app.pl/

/usr/local/myapp/log/myapp.log { 
    daily 
    rotate 10 
    create 0660 root root 
    compress 
    missingok 
    dateext 
} 

이지만 새 로그 파일은 0입니다.

나는

댄서 :: 로거 :: 파일 :: 초기화와 bin/app.plHUP 및 프로세스 HUP의 sinal을 보낼 logrotate에의 conf에 postrotate을 추가하려고;

하지만 도움이되지 않습니다.

댄서의 로그 파일을 돌리는 방법을 누구에게 말해 줄 수 있습니까? 이런 일이 수 있도록

답변

0

한 가지 해결책은 plackup 폴더를보기 위해 -R 스위치를 지원한다는 것입니다, 그래서 당신은에 logrotate에를 -R <appdir>/run을 추가하고 변경할 수 있습니다 : 지금까지 당신이 원하는하지만 내가 말할 수있는

postrotate 
    touch <appdir>/run/last.run 

이 구성에서는 수행 할 수 없습니다. Starman은 명시 적으로 sighup을 처리하여 자식 프로세스를 다시 시작합니다. Starman/Server.pm에서 : 당신은 아마 Linux::Inotify2

에 변화를 확인, 파일에 기록해야하는 경우

24 # Override Net::Server's HUP handling - just restart all the workers and that's about it 
25 sub sig_hup { 
26  my $self = shift; 
27  $self->hup_children; 
28 } 

아마도 당신은 같은 Dancer::Logger::Syslog

를 사용하여 같은 대체 로깅 솔루션이 필요하거나