使用WSGI进行Zope日志记录

问题描述 投票:0回答:1

从版本4开始,默认情况下Zope通过WSGI提供。使用mkwsgiinstance命令创建的实例在运行时不会创建日志文件。

如何在ZServer中为WSGI启用日志记录?

我在Zope 4文档中发现了这一点:“runwsgi命令将PasteDeploy配置文件作为其参数。您可以在此文件中配置不同的支持WSGI的服务器,WSGI管道或日志记录配置。”

所以我想我的问题应该是具体的:如何在Zope(服务员)中为zope.ini配置默认WSGI服务器的日志记录?

logging wsgi zope
1个回答
0
投票

这是一个zope.ini,适用于Zope 4(服务员)中的默认WSGI服务器。与ZServer一样,它在实例的日志目录中创建访问日志(Z4.log)和事件日志(event.log)。

[app:zope]
use = egg:Zope#main
zope_conf = %(here)s/wsgi.conf

[server:main]
use = egg:waitress#main
host = 127.0.0.1
port = 8080

[filter:translogger]
use = egg:Paste#translogger
setup_console_handler = False

[pipeline:main]
pipeline =
    egg:Zope#httpexceptions
    translogger
    zope

[loggers]
keys = root, waitress, wsgi

[handlers]
keys = console, accesslog, eventlog

[formatters]
keys = generic, message

[formatter_generic]
format = %(asctime)s %(levelname)-5.5s [%(name)s:%(lineno)s][%(threadName)s] %(message)s
datefmt = %Y-%m-%d %H:%M:%S

[formatter_message]
format = %(message)s

[logger_root]
level = INFO
handlers = console

[logger_waitress]
level = INFO
handlers = eventlog
qualname = waitress

[logger_wsgi]
level = WARN
handlers = accesslog
qualname = wsgi
propagate = 0

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

[handler_accesslog]
class = FileHandler
args = ('%(here)s/../log/Z4.log','a')
level = INFO
formatter = message

[handler_eventlog]
class = FileHandler
args = ('%(here)s/../log/event.log', 'a')
level = INFO
formatter = generic

我主要是从here得到它,但不得不做出一些调整。

© www.soinside.com 2019 - 2024. All rights reserved.