Я хочу записывать flask действий приложения в файл. Я хочу, чтобы конфигурации ведения журнала находились в отдельном модуле. На данный момент он у меня работает, но он находится внутри файла flask_app.py.
app = Flask(__name__)
@app.route('/')
def home():
app.logger.info("Foo Bar")
return "Hello World!"
if __name__ == '__main__':
import app_logging
import logging
from logging.handlers import RotatingFileHandler
log_handler = RotatingFileHandler(app_logging.LOG_FILE, maxBytes=app_logging.LOG_SIZE, backupCount=app_logging.LOG_ROTATION)
log_handler.setFormatter(app_logging.FORMATTER)
log_handler.setLevel(logging.INFO)
app.logger.setLevel(logging.INFO)
app.logger.addHandler(log_handler)
app.run(port=5000)
я хочу переместить ведение журнала в отдельный модуль (application_logging.py), например
import logging
from logging.handlers import RotatingFileHandler
FORMATTER = logging.Formatter("%(asctime)s - %(name)s - %(levelname)s - %(message)s")
LOG_FILE = "info.log"
LOG_SIZE = 1024 * 1024
LOG_ROTATION = 1
def get_app_logger():
log_handler = RotatingFileHandler(LOG_FILE, maxBytes=LOG_SIZE, backupCount=LOG_ROTATION)
log_handler.setFormatter(FORMATTER)
log_handler.setLevel(logging.INFO)
return log_handler
и вызовите log_handler для flask_app.py, например:
if __name__ == '__main__':
import app_logging
app.logger = app_logging.get_logger()
app.logger.setLevel(logging.INFO)
app.logger.addHandler(log_handler)