用拥抱和女服务员记录
Logging with hug and waitress
我想将日志记录添加到我的 Python hug REST app. I couldn't find any wayto do it when serving the app through the hug
command (via hug -f app.py
), therefore I try to combine hug with 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") 内部的调试消息 and from run.py
("logger set to DEBUG") 我在控制台中看不到。
出了什么问题,我该如何解决? (如果更容易的话,我很乐意使用另一个(Windows-capable)WSGI 服务器。)
您必须为 logging
模块配置日志记录。看看 documentation for logging.config
(特别是 dictConfig
和 fileConfig
)。首先,要测试它是否有效,您可以简单地调用
logging.basicConfig()
在 app.py
中,然后再进行任何记录。这将使所有通道的输出转到 sys.stderr
.
如果您希望那里的调试消息可见,请不要忘记在 app.py
中执行 logging.setLevel(logging.DEBUG)
。
我想将日志记录添加到我的 Python hug REST app. I couldn't find any wayto do it when serving the app through the hug
command (via hug -f app.py
), therefore I try to combine hug with 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") 内部的调试消息 and from run.py
("logger set to DEBUG") 我在控制台中看不到。
出了什么问题,我该如何解决? (如果更容易的话,我很乐意使用另一个(Windows-capable)WSGI 服务器。)
您必须为 logging
模块配置日志记录。看看 documentation for logging.config
(特别是 dictConfig
和 fileConfig
)。首先,要测试它是否有效,您可以简单地调用
logging.basicConfig()
在 app.py
中,然后再进行任何记录。这将使所有通道的输出转到 sys.stderr
.
如果您希望那里的调试消息可见,请不要忘记在 app.py
中执行 logging.setLevel(logging.DEBUG)
。