Я использую Loguru для обработки входа в мой flask остальные API. При локальном тестировании приложения оно регистрируется точно так, как ожидалось. Когда я развертываю свое приложение на моем linux сервере, работающем apache, регистрация прекращается. Я могу запустить приложение вручную на сервере, используя python app.py
, и регистрация снова работает, но это просто раскручивает сервер разработки.
from flask import Flask
from loguru import logger
import logging
import os
class InterceptHandler(logging.Handler):
def emit(self, record):
# Retrieve context where the logging call occurred, this happens to be in the 6th frame upward
logger_opt = logger.opt(depth=6, exception=record.exc_info)
logger_opt.log(record.levelno, record.getMessage())
# create the Flask application
app = Flask(__name__)
logger.add(
'logs/events.log',
level='DEBUG',
format='{time} {level} {message}',
backtrace=True,
rotation='5 MB',
retention=9
)
app.logger.addHandler(InterceptHandler())
logging.basicConfig(handlers=[InterceptHandler()], level=20)
if __name__ == '__main__':
app.run(debug=False)