Debugging Application

Debug Mode

在项目开发过程中,推荐以debug模式启动项目:

$ bash bin/manage debug

在debug模式中会设置如下环境变量:

export GUNIFLASK_DEBUG=1

我们在代码中可以根据是否设置了 GUNIFLASK_DEBUG 环境变量来确定项目是否以debug模式启动。

Debug Settings

以debug模式启动项目时,会强制设定如下gunicorn配置项:

  • accesslog : '-'

  • errorlog : '-'

  • loglevel : 'debug'

  • reload : True

  • reload_extra_files : conf 文件夹下的所有文件

  • workers: 1

  • daemon: False

此时,我们在配置文件中对这些项的设定将不起作用。 特别的,对于reload_extra_files会合并默认配置和自定义的配置。

gunicorn配置项的详情可参考gunicorn文档: http://docs.gunicorn.org/en/stable/settings.html

Auto Reloading

以debug模式启动项目时,如果python模块中或 conf 文件夹中的代码发生了改变,app进程会自动重启并加载最新的代码。

Note

如果我们更改的是gunicorn配置项,则需要手动重启项目才会重新加载最新的gunicorn配置项。