如何在Python Paste部署配置文件中转义百分比char?

时间:2015-10-19 14:26:49

标签: python python-paste

我使用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;

但是我可以解决这个问题吗?

1 个答案:

答案 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"