gunicorn的日誌配置
gunicorn的日誌配置相關的經常使用參數有4個,分別是accesslog,access_log_format,errorlog,loglevel。nginx
- accesslog:用戶的訪問的日誌的目錄,和nginx的access_log很像,都是記錄訪問服務器的用戶的信息;
accesslog = '/var/logs/gunicorn.access.log' accesslog = '-' # 記錄到標準輸出
- access_log_format:設置記錄訪問信息的日誌的格式;
access_log_format = '%(h)s %(l)s %(u)s %(t)s' access_log_format = '%(h) - %(t)s - %(u)s - %(s)s %(H)s'
gunicorn有多個內置的參數可用來配置:flask
h 遠程地址 l 「-「 u 用戶名 t 時間 r 狀態行,如:GET /test HTTP/1.1 m 請求方法 U 沒有查詢字符串的URL q 查詢字符串 H 協議 s 狀態碼 B response長度 b response長度(CLF格式) f 參考 a 用戶代理 T 請求時間,單位爲s D 請求時間,單位爲ms p 進程id {Header}i 請求頭 {Header}o 相應頭 {Variable}e 環境變量
- errorlog:記錄服務器運行的日誌;
errorlog = '/var/logs/gunicorn.error.log' errorlog = '-' # 記錄到標準輸出
- loglevel:設置錯誤日誌的輸出等級;有個級別能夠選擇;
loglevel = 'error' # 後面須要用引號包裹 debug:調試級別,記錄的信息最多; info:普通級別; warning:警告消息; error:錯誤消息; critical:嚴重錯誤消息;
- 其餘參數
logger_class :選擇處理日誌的方法 logger_class = 'STRING'
supervisor管理gunicorn
因爲上線是gunicorn是交給supervisor管理的,supervisor能夠記錄標準輸出和錯誤輸出,所以能夠將日誌信息設置成標準輸出,使得其能夠和flask的應用程序共用日誌文件,減小日誌文件的數量,方便管理。服務器
errorlog = '-' accesslog = '-'