Я примерно вот так логирую и ротирую
# config.py
class Config(object):
TESTING = False
# И еще конфиги разные
class ProductionConfig(Config):
DEBUG = False
LOGFILE = 'logs/Production.log'
class DevelopmentConfig(Config):
DEBUG = True
LOGFILE = 'logs/Development.log'
# app.py
from logging.handlers import RotatingFileHandler
from logging import Formatter
import logging
app = Flask(__name__)
app.config.from_object('config.DevelopmentConfig')
# -----------------------------------------------------------------------------
# Включение, отключение и ротация логов.
# -----------------------------------------------------------------------------
handler = RotatingFileHandler(app.config['LOGFILE'],
maxBytes=1000000, backupCount=1)
handler.setLevel(logging.DEBUG)
handler.setFormatter(Formatter('%(asctime)s %(levelname)s: %(message)s '
'[in %(pathname)s:%(lineno)d]'))
# logging.disable(logging.CRITICAL) # Расскоментарь это для прекращения логов
app.logger.addHandler(handler)
И коротенький hello, если надо закидывать лог в консоль:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
app.logger.info("My message")
return 'Hello, World!'
if __name__ == "__main__":
app.run(debug=True)