我在运行gunicorn时尝试这种日志格式:
--access-logformat "[dev.api] %(h)s %(l)s %(u)s %(t)s .%(r)s. %(s)s %(b)s .%(f)s. .%(a)s. conn=\"%{Connection}i\""
根据文档@ http://docs.gunicorn.org/en/latest/configure.html
,这看起来不错但是,我收到以下错误:
File "lib/python2.7/site-packages/gunicorn/glogging.py", line 274, in access
self.access_log.info(self.cfg.access_log_format % safe_atoms)
TypeError: not enough arguments for format string
问题与我请求连接请求标头的方式有关。
有没有人有一个以gunicorn格式记录请求标头的示例?
答案 0 :(得分:4)
从我收集的信息来看,应该是:
--access-logformat "[dev.api] %(h)s %(l)s %(u)s %(t)s .%(r)s. %(s)s %(b)s .%(f)s. .%(a)s. conn=\"%({Connection}i)s\""
是%({Connection}i)s
而不是%{Connection}i
,错误表明您的字符串中存在未知的替换,并且最后一个是唯一不遵循该模式的内容,即%(variable-name)s
,s
表示字符串替换。
此外,如果您正在查找请求标头,则可能应该是:%({Header}i)s
,不确定是否会为您提供完整标头,或者您是否可以选择Connection
通过此明确标题。
虽然完全披露,我没有使用gunicorn的经验,我只是阅读文档。