2012-12-04 26 views
5

Tôi có câu hỏi về cài đặt ghi nhật ký trong tệp supervisord.conf. Máy chủ của chúng tôi tại nơi làm việc đang chạy phiên bản 3.0b1 hiện tại và chúng tôi có logfile_backups và logfile_maxbytes được đặt thành các giá trị nhất định trong [supervisord]. Đó là tất cả tốt và tốt.Ghi nhật ký cho Supervisor

Câu hỏi của tôi, mặc dù, là nếu tôi bao gồm các cờ đó trong một tiến trình con, nó có ghi đè lên những gì được thiết lập ở trên cùng không?

Dưới đây là một số snippits của tập tin cấu hình để minh họa cho những gì tôi đang hỏi ...

[supervisord] 
childlogdir=/var/log/supervisord/ 
logfile=/tmp/supervisord.log ; (main log file;default $CWD/supervisord.log) 
logfile_maxbytes=50MB  ; (max main logfile bytes b4 rotation;default 50MB) 
logfile_backups=10   ; (num of main logfile rotation backups;default 10) 
loglevel=info    ; (log level;default info; others: debug,warn,trace) 
pidfile=/tmp/supervisord.pid ; (supervisord pidfile;default supervisord.pid) 
nodaemon=false    ; (start in foreground if true;default false) 
minfds=1024     ; (min. avail startup file descriptors;default 1024) 
minprocs=200    ; (min. avail process descriptors;default 200) 


[program:ParserClient] 
command=/usr/local/bin/php /my/script/file.php --log-level=debug ; 
process_name=%(program_name)s ; 
numprocs=1     ; 
autostart=true    ; 
autorestart=true   ; 
startsecs=2    ; 
logfile_maxbytes=10MB  ; 
logfile_backups=1   ; 

Tóm lại: hiện logfile_maxbytes và logfile_backups thành lập theo [ParserClient] ghi đè lên lá cờ được thành lập theo [ người giám sát]?

Trả lời

14

không hỗ trợ cho logfile_maxbyteslogfile_backups cho [program:x] phần, và supervisord bỏ qua các tùy chọn này hoàn toàn trong các phần như vậy.

Bạn có thể muốn chỉ định các tùy chọn stdout_logfile_maxbytes, stderr_logfile_maxbytes, stdout_logfile_backups và/hoặc stderr_logfile_backups thay thế. Các tùy chọn này không tính đến các cài đặt [supervisord], bạn phải đặt chúng một cách rõ ràng.

+0

Cảm ơn bạn đã làm rõ về điều này! Tôi không quen thuộc với phần mềm, và người thiết lập nó không phải là xung quanh để tôi hỏi ngay bây giờ, vì vậy cảm ơn bạn đã giúp tôi! – Lisa

+0

Điều này dường như đã thay đổi: http://supervisord.org/logging.html#child-process-logs. Bây giờ bạn có thể có 'stdout_logfile_backups' và' stderr _... ' – raylu

+1

@raylu: đó là câu trả lời của tôi. OP sử dụng tiền tố 'logfile_' thay vì sử dụng' stdout_logfile_ * 'và' stderr_logfile_ * '. –

Các vấn đề liên quan