Регистрация Zope с WSGI - PullRequest
       22

Регистрация Zope с WSGI

0 голосов
/ 08 марта 2019

Начиная с версии 4, по умолчанию Zope обслуживается через WSGI.Экземпляры, созданные с помощью команды mkwsgiinstance , не создают файлы журналов при запуске.

Как включить ведение журналов, как в ZServer для WSGI?

Я нашел это в Zope4 docs: "Команды runwsgi принимают в качестве аргумента файл конфигурации PasteDeploy. В этом файле можно настроить различные серверы с поддержкой WSGI, конвейер WSGI или конфигурацию ведения журнала."

Так что я предполагаюмой вопрос должен быть конкретно: как мне настроить ведение журнала в zope.ini для сервера WSGI по умолчанию в Zope (официантка)?

1 Ответ

0 голосов
/ 09 марта 2019

Вот 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

Я получил это в основном из здесь , но мне пришлось внести некоторые изменения.

...