2

我想将日志记录添加到我的 Python拥抱REST 应用程序中。hug通过命令(通过)为应用程序提供服务时,我找不到任何hug -f app.py方法,因此我尝试将 hug 与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("logger set to DEBUG") 的调试消息我在控制台中看不到。

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

4

1 回答 1

1

您必须为logging模块配置日志记录。查看(特别是和)的文档。logging.config首先,要测试它是否有效,您可以简单地调用dictConfigfileConfig

logging.basicConfig()

app.py你做任何记录之前。这将使所有通道的输出变为sys.stderr

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

于 2016-10-17T08:19:04.947 回答