记录格式以获取gunicorn访问日志中的请求标头

时间:2013-12-18 23:30:48

标签: gunicorn

我在运行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格式记录请求标头的示例?

1 个答案:

答案 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)ss表示字符串替换。

此外,如果您正在查找请求标头,则可能应该是:%({Header}i)s,不确定是否会为您提供完整标头,或者您是否可以选择Connection通过此明确标题。

虽然完全披露,我没有使用gunicorn的经验,我只是阅读文档。