Колба не входит в файл - PullRequest
0 голосов
/ 30 мая 2018

У меня тот же код

from logging.handlers import RotatingFileHandler
from logging import ERROR, Formatter
from flask.logging import default_handler
database.init_db()
handler = RotatingFileHandler("logs/log.txt", maxBytes=10000, backupCount=10)
handler.setLevel(ERROR)
handler.setFormatter(Formatter('%(asctime)s %(levelname)s: %(message)s'))
app.logger.removeHandler(default_handler)
app.logger.addHandler(handler)
app.run()

Эта запись в журнал из других модулей с использованием вывода журналов

from main import app
try:
    #some code
except Exception as e:
    app.logger.error(e)

в консоли была правильной, но они не записываются в файл logs / log.текст.Что я делаю неправильно?Файл в каталоге 'logs' в каталоге проекта с правами 777

1 Ответ

0 голосов
/ 14 июня 2018

Я решил свою проблему с помощью стандартного dictConfig, например:

from logging.config import dictConfig    

dictConfig({
        'version': 1,
        'formatters': {'default': {
            'format': '[%(asctime)s] %(levelname)s in %(module)s.%(funcName)s Line %(lineno)s: %(message)s',
        }},
        'handlers': {'file': {
            'class': 'logging.handlers.RotatingFileHandler',
            'filename': 'logs/admin.log',
            'formatter': 'default'
        }},
        'root': {
            'level': 'ERROR',
            'handlers': ['file']
        }
    })

Словарь должен быть определен до создания экземпляра класса Flask

app = Flask(__name__)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...