Регистрация отключает вывод колбы - PullRequest
1 голос
/ 13 мая 2019

У меня есть фляга app.py, внутри приложения у меня есть скрипт write_to_db.py. Я добавил логирование в универсальный декоратор, и теперь колба не выводит логирование на терминал, и мой отладчик VS Code не работает.

Когда я смотрю в файле error.log, я вижу только базовый вывод:

Запуск на http://127.0.0.1:7900/ (нажмите CTRL + C, чтобы выйти)

import logging

logging.basicConfig(filename='eror.log', level=os.environ.get("LOGLEVEL", "CRITICAL"))

def catch_all_decorator(f):
    def wrapper(*args, **kwargs):
        try:
            f(*args, **kwargs)
            return "LOADED"
        except Exception as e:
            logging.info(e)
            logging.exception("STACK TRACE")
            return "FAIL"

Мне нужно зарегистрировать данные трассировки стека и по-прежнему просматривать их в терминале.

1 Ответ

1 голос
/ 13 мая 2019

Вы переписали свой стандартный обработчик STDOUT с помощью logging.basicConfig(filename='eror.log', level=os.environ.get("LOGLEVEL", "CRITICAL")).

Running on http://127.0.0.1:7900/ (Press CTRL+C to quit) - вы видите это, потому что на самом деле это вывод "print ()", а не вывод журнала.

Вот попробуйте это: logging.basicConfig(level=os.environ.get("LOGLEVEL", "CRITICAL"), handlers=[logging.FileHandler("error.log"), logging.StreamHandler()])

...