我使用Python Paste Deploy脚本来部署Flask + Gunicorn项目。但是,我无法使用(h)s%(l)s%(u)s%(t)s“%(r)s”%(s)在部署脚本中编写 access_log_format )s%(b)s“%(f)”。因为%(h)s 格式在“粘贴部署”脚本中具有特殊含义。如文档中所述:
You can use variable substitution, which will pull variables from
the section [DEFAULT] (case sensitive!) with markers like %
(var_name)s. The special variable %(here)s is the directory
containing the configuration file;
但是我可以解决这个问题吗?
答案 0 :(得分:0)
在这种情况下,您尝试配置应用程序的两个组件--Gunicorn和您的Flask应用程序(使用Paste Deploy)。 Gunicorn负责访问日志记录,而Flask / Paste Deploy使用您现有的配置进行配置。 Paste Deploy负责其自己的配置文件中的魔法变量替换,这与Gunicorn访问日志配置冲突。
您可以为Gunicorn提供单独的配置文件,其中包含您的访问日志格式。例如:
gunicorn -c gunicorn.conf --paste demo.conf
gunicorn.conf :
accesslog = access.log
access_log_format = %(h)s %(l)s %(u)s %(t)s "%(r)s" %(s)s %(b)s "%(f)s" "%(a)s"