记录拥抱和女服务员

时间:2016-10-17 07:43:40

标签: python logging wsgi waitress hug

我想将日志记录添加到我的Python hug REST应用程序中。通过hug命令(通过hug -f app.py)提供应用程序时,我找不到任何方法,因此我尝试将拥抱与waitress结合起来。

文件app.py中的最小应用结构如下:

import logging
logger = logging.getLogger(__name__)
import hug
.
.
.
@hug.get()
def func(detail):
    logger.debug("debug func")
    .
    .
    .

我用服务员脚本run.py提供服务:

import logging
import waitress

import app

logger = logging.getLogger('waitress')
logger.setLevel(logging.DEBUG)
logger.debug("logger set to DEBUG")

waitress.serve(app.__hug_wsgi__)

当我在控制台中执行python run.py时,应用程序很好地旋转并且func的结果被回送,但是来自func(“debug func”)的调试消息和run.py(“记录器设置为DEBUG”)我在控制台中看不到。

出了什么问题,我该如何解决? (如果这更容易,我很乐意使用另一个(支持Windows的)WSGI服务器。)

1 个答案:

答案 0 :(得分:1)

您必须为logging模块配置日志记录。请查看documentation for logging.config(特别是dictConfigfileConfig)。首先,要测试它是否有效,您只需调用

即可
logging.basicConfig()
在进行任何记录之前,在app.py

。这将使所有频道的输出转到sys.stderr

如果您希望其中的调试消息可见,请不要忘记在logging.setLevel(logging.DEBUG)中执行app.py