2015-08-04 21 views
7

Tôi đã thừa kế một máy chủ bình chạy phía sau gunicorn và giám sát viên. Trong một tập tin log Tôi muốn nhìn thấy:Bình sau gunicorn và giám sát - ghi lại tất cả các yêu cầu và phản hồi

  • Tất cả các yêu cầu gửi đến
  • Tất cả các phản ứng đi

Tôi có nhiều công nhân gunicorn. gunicorn.conf.py của tôi trông như thế này:

import multiprocessing 

bind = "0.0.0.0:8000" 

workers = multiprocessing.cpu_count() * 2 + 1 
worker_class = 'gevent' 

max_requests = 1000 
timeout = 30 
keep_alive = 2 

preload = True 

gunicorn.conf cho supervisor trông như thế này:

[program:gunicorn] 
command=/opt/anaconda/bin/gunicorn manage:app -c /etc/config/gunicorn.conf.py 
directory=/root/ourthing/web 
environment=PYTHONPATH=/root/ourthing/web 
user=root 
autorestart=true 
stdout_logfile=/opt/logs/gunicorn_stdout.log 
stderr_logfile=/opt/logs/gunicorn_stderr.log 
loglevel=info 
priority=400 

Với loglevel=info, tôi mong đợi để xem yêu cầu và phản ứng trong gunicorn_stdout.loggunicorn_stderr.log, nhưng không có con xúc xắc .

Tôi đã triển khai this để đăng nhập và hoạt động, nhưng phải gửi mọi yêu cầu và phản hồi theo cách thủ công với logger.info có vẻ mất trí.

Có một số setting somewhere here nơi điều này sẽ xảy ra tự động không?

Nếu có, tôi đặt nó ở đâu?

Ngoài ra, tôi cho rằng tất cả những người lao động viết với cùng log ....

EDIT: Dưới đây là những gì tôi thêm vào gunicorn.conf.py qua câu trả lời được chấp nhận:

accesslog = '/root/logs/accesslog.log' 
loglevel = 'debug' 
access_log_format = '%(h)s %(l)s %(u)s %(t)s "%(r)s" %(s)s %(b)s "%(f)s" "%(a)s"' 

Trả lời

7

Cấu hình loglevel cài đặt chỉ ảnh hưởng đến nhật ký lỗi, vì vậy việc thay đổi giá trị của nó sẽ không giúp bạn ghi lại các yêu cầu và phản hồi thành công.

Thay vào đó, hãy thử cài đặt accesslog (để cho phép truy cập bản ghi) và access_log_format trong tập tin cấu hình của bạn gunicorn.conf.py.

+1

'accesslog' hiện đang kích hoạt. Thực sự hữu ích. Cảm ơn. – bahmait

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