Я хочу временно включить отладочные сообщения в веб-проекте pyramid, поэтому я скорректировал файл production.ini
, нажал его на Heroku и увидел только сообщения об ошибках и предупреждениях.Почему мой уровень журнала не используется при использовании loadapp из файла paste.deploy?
Так что я подумал, что это кажется странным, поскольку, если я запустил приложение пирамиды, как показано на моем локальном ПК, я получаю все сообщения уровня журнала.
env/bin/pserve production.ini
ОК, так что это не точно, как это работает на Heroku, это на самом деле работать с little bit of python, который выглядит следующим образом (в файле runapp.py
):
import os
from paste.deploy import loadapp
from waitress import serve
if __name__ == "__main__":
port = int(os.environ.get("PORT", 5000))
app = loadapp('config:production.ini', relative_to='.')
serve(app, host='0.0.0.0', port=port)
Теперь, конечно, если Я делаю это на своем локальном ПК. Я получаю то же поведение, что и при его развертывании в Heroku (вряд ли удивительно).
python runapp.py
Мой вопрос: что мне здесь не хватает? Почему его запуск во втором случае приводит к тому, что никакие сообщения журнала, кроме ERROR и WARN, не выводятся на стандартный вывод? Конечно, поскольку он использует тот же файл production.ini
, он должен работать так же, как если бы я использовал процесс pserve
?
Вот мой каротаж раздел из production.ini
:
###
# logging configuration
# http://docs.pylonsproject.org/projects/pyramid/en/latest/narr/logging.html
###
[loggers]
keys = root, test
[handlers]
keys = console
[formatters]
keys = generic
[logger_root]
level = DEBUG
handlers = console
[logger_test]
level = DEBUG
handlers = console
qualname = test
[handler_console]
class = StreamHandler
args = (sys.stderr,)
level = DEBUG
formatter = generic
[formatter_generic]
format = %(asctime)s %(levelname)-5.5s [%(name)s][%(threadName)s] %(message)s
отлично, спасибо - это просто работа. Я заменил строку: «from paste.deploy import loadapp» с «import pyramid.paster» и «app = loadapp ('config: production.ini», relative_to ='. ')' Линия с двумя, которые вы мне дали (просто переходя в «production.ini» для них), и он отлично работает и применяет мой журнал, поэтому я счастливый кролик :-). – kmp