Начиная с версии 4 Zope по умолчанию обслуживается через WSGI. Экземпляры, созданные с помощью команды mkwsgiinstance, не создают файлы журнала при запуске.
Как я могу включить ведение журнала, как в ZServer для WSGI?
Я нашел это в документации Zope 4: «Команды runwsgi принимают в качестве аргумента файл конфигурации PasteDeploy. В этом файле вы можете настроить различные серверы с поддержкой WSGI, конвейер WSGI или конфигурацию ведения журнала».
Поэтому я думаю, что мой вопрос должен быть конкретным: как мне настроить ведение журнала в zope.ini для сервера WSGI по умолчанию в Zope (официантка)?





Вот zope.ini, который работает для WSGI-сервера по умолчанию в Zope 4 (официантка). Как и в случае с 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
Я получил его в основном от здесь, но пришлось внести некоторые коррективы.