1.__init__.py调整logger添加handler逻辑
2.解决wsgi的http请求日志无法记录到日志文件的问题
This commit is contained in:
parent
c5f8d9d8d4
commit
f0ebdb6599
|
@ -130,37 +130,27 @@ def register_logging(app: Flask):
|
|||
stream_handler.setFormatter(formater)
|
||||
file_handler.setLevel(logging.INFO)
|
||||
file_sys_handler.setLevel(logging.DEBUG)
|
||||
stream_handler.setLevel(logging.INFO)
|
||||
stream_handler.setLevel(logging.DEBUG)
|
||||
|
||||
# app.logger
|
||||
app_logger_queue = Queue(-1)
|
||||
app_logger_queue_handler = QueueHandler(app_logger_queue)
|
||||
app_logger_queue_listener = QueueListener(app_logger_queue,
|
||||
file_sys_handler, file_handler, stream_handler,
|
||||
respect_handler_level=True)
|
||||
# app.logger.addHandler(file_handler)
|
||||
# app.logger.addHandler(stream_handler)
|
||||
for handler in app.logger.handlers:
|
||||
app.logger.removeHandler(handler)
|
||||
app.logger.addHandler(app_logger_queue_handler)
|
||||
app.logger.setLevel(logging.INFO)
|
||||
app.logger.propagate = False # 记录消息将不会传递给当前记录器的祖先记录器的处理器
|
||||
app_logger_queue_listener.start()
|
||||
app.logger.info("WebServer 服务已启动")
|
||||
|
||||
# 框架默认logger指定输出handler(包含了http请求日志)
|
||||
logger = logging.getLogger()
|
||||
logger_queue = Queue(-1)
|
||||
logger_queue_handler = QueueHandler(logger_queue)
|
||||
logger_queue_listener = QueueListener(logger_queue,
|
||||
file_sys_handler, file_handler, stream_handler,
|
||||
respect_handler_level=True)
|
||||
# logger.addHandler(file_sys_handler)
|
||||
# logger.addHandler(stream_handler)
|
||||
# logger.addHandler(file_handler)
|
||||
logger_queue_listener.start()
|
||||
|
||||
# app.logger
|
||||
for handler in app.logger.handlers:
|
||||
app.logger.removeHandler(handler)
|
||||
app.logger.addHandler(logger_queue_handler)
|
||||
app.logger.setLevel(logging.INFO)
|
||||
app.logger.propagate = False # 记录消息将不会传递给当前记录器的祖先记录器的处理器
|
||||
app.logger.info("WebServer 服务已启动")
|
||||
|
||||
# 框架默认logger指定输出handler(包含了http请求日志、定时任务job日志、socket日志)
|
||||
logger = logging.getLogger()
|
||||
logger.addHandler(logger_queue_handler)
|
||||
logger.setLevel(logging.DEBUG)
|
||||
logger_queue_listener.start()
|
||||
|
||||
|
||||
def register_template_global(app: Flask):
|
||||
|
|
|
@ -23,6 +23,7 @@ mail = Mail()
|
|||
csrf = CSRFProtect()
|
||||
bootstrap = Bootstrap()
|
||||
# 支持后台线程发送,并被前端接收到
|
||||
# async_mode = 'threading'
|
||||
async_mode = 'eventlet'
|
||||
if async_mode == 'eventlet':
|
||||
import eventlet
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
# coding=utf-8
|
||||
|
||||
import logging
|
||||
|
||||
from app import create_app
|
||||
|
||||
from app.extensions import socketio
|
||||
|
@ -8,6 +10,14 @@ from app.extensions import socketio
|
|||
app = create_app()
|
||||
|
||||
if __name__ == '__main__':
|
||||
socketio.run(app=app, host='0.0.0.0', port=5000, debug=False)
|
||||
host, port = '0.0.0.0', 5000
|
||||
debug = False
|
||||
log_output = True
|
||||
if socketio.async_mode == 'threading':
|
||||
socketio.run(app=app, host=host, port=port, debug=debug)
|
||||
elif socketio.async_mode == 'eventlet':
|
||||
socketio.run(app=app, host=host, port=port, debug=debug, log_output=log_output, log=logging.getLogger())
|
||||
elif socketio.async_mode == 'gevent':
|
||||
socketio.run(app=app, host=host, port=port, debug=debug, log_output=log_output)
|
||||
# app.run(host='0.0.0.0', port=5000)
|
||||
# app.run()
|
||||
|
|
Loading…
Reference in New Issue