编程语言
首页 > 编程语言> > 如何设置Python Pyramid Waitress服务器的日志记录?

如何设置Python Pyramid Waitress服务器的日志记录?

作者:互联网

我正在尝试为Python Pyramid Waitress Server设置日志记录.我跟着这里的文档:
Pyramid logging和这里:Pyramid PasteDeploy logging.我已经厌倦了两种方法,这些方法没有产生服务员的记录结果.我自己的伐木工作完美.

我已将Waitress日志记录级别设置为DEBUG,即使删除服务器文件,我也什么也得不到.女服务员默默地失败服务器.

如何设置Pyramid Waitress Server的日志记录,以便我可以看到请求文件,丢失文件错误等?

方法1:
代码设置:

import logging
logging.basicConfig()
logger = logging.getLogger('waitress')
logger.setLevel(logging.DEBUG)

方法2:
使用pserve development.ini启动服务器,其中development.ini文件设置日志记录,如下所示

[app:main]
use = egg:MyProject

pyramid.reload_templates = true
pyramid.debug_authorization = false
pyramid.debug_notfound = false
pyramid.debug_routematch = false
pyramid.default_locale_name = en
pyramid.includes =
pyramid_debugtoolbar

[server:main]
use = egg:waitress#main
host = 0.0.0.0
port = 6543



[loggers]
keys = root, myproject, waitress

[handlers]
keys = console

[formatters]
keys = generic

[logger_root]
level = INFO
handlers = console

[logger_myproject]
level = DEBUG
handlers =
qualname = myproject


[logger_waitress]
level = DEBUG
handlers =
qualname = waitress


[handler_console]
class = StreamHandler
args = (sys.stderr,)
level = NOTSET
formatter = generic

[formatter_generic]
format = %(asctime)s %(levelname)-5.5s [%(name)s][%(threadName)s] %(message)s

解决方法:

日志配置实际上有效.在这里,我演示了一个简单的视图,为waitress记录器发出日志消息

@view_config(route_name='hello_baby', 
             request_method='GET', 
             renderer='string')
def hello_baby(request):
    import logging
    logger = logging.getLogger('waitress')
    logger.info('Hello baby!')
    return 'Hi there'

当您点击页面时,您应该能够看到日志消息.您没有看到来自服务员的消息的原因是 – 在服务员中没有为常见例程发出日志消息.它只会在出现问题时发出消息,你可以阅读source code

有关Python日志记录的其他一些知识,您可以阅读我的文章:Good logging practice in Python

标签:python,pyramid,logging,waitress
来源: https://codeday.me/bug/20190624/1280786.html