2017-09-14 6 views
0

그래서 내 시스템에서, 관리자는 표준 오류를 캡처하고이 파일에 표준 출력 : 파일 이름을관리자가 시작한 프로세스의 stdout 및 stderr 로그 위치를 변경하는 방법은 무엇입니까?

[email protected]:/var/log/supervisor# ls -l 
total 24 
-rw------- 1 root root 18136 Sep 14 03:35 gunicorn-stderr---supervisor-VVVsL1.log 
-rw------- 1 root root  0 Sep 14 03:35 gunicorn-stdout---supervisor-lllimW.log 
-rw------- 1 root root  0 Sep 14 03:35 nginx-stderr---supervisor-HNIPIA.log 
-rw------- 1 root root  0 Sep 14 03:35 nginx-stdout---supervisor-2jDN7t.log 
-rw-r--r-- 1 root root 1256 Sep 14 03:35 supervisord.log 

하지만은/var/로그/gunicorn에 gunicorn의 표준 출력 및 표준 오류 로그 파일 '의 위치를 ​​변경하려면 고정 모니터링 목적으로.

이 내가 config 파일에서 수행 한 것입니다 :

[program:gunicorn] 
stdout_capture_maxbytes=50MB 
stderr_capture_maxbytes=50MB 
stdout = /var/log/gunicorn/gunicorn-stdout.log 
stderr = /var/log/gunicorn/gunicorn-stderr.log 
command=/usr/bin/gunicorn -w 2 server:app 

이 전혀 적용되지 않습니다하지만. 구성에서 무엇이든 놓친 적이 있습니까?

답변

0

stdoutstderr에서 stdout_logfilestderr_logfile으로 변경하면 문제가 해결됩니다.

기본 구성에서 childlogdir을 변경하여 모든 하위 로그를 다른 디렉토리에 표시 할 수도 있습니다. 자동 로그 모드를 사용하는 경우 로그 파일 이름은 stdout_logfile을 설정할 필요없이 지정된 childlogdir에 자동 생성됩니다.

service supervisord restart

또는

이 설정 supervisorctl reload를 다시로드하고 실행의 설정이 supervisorctl update을 처리 업데이트 : 변경 사항에 대한

위해 당신과 함께 관리자 서비스를 다시 시작하거나 필요로 반영한다.

여기에 대한 문서는 http://supervisord.org/logging.html#child-process-logs