大幅度改变celery日志外观,修改为日志可点击跳转和鲜艳五彩日志,解决脚本中已添加handler的logger和框架日志重复记录问题。打猴子补丁。框架
先把脚本中的全部logger的handlers所有去掉。spa
for loggger_name in logging.Logger.manager.loggerDict:
LogManager(loggger_name).remove_all_handlers()
打猴子补丁,
logging.StreamHandler = ColorHandler # 一键替换全部streamhandler为本身的colorhandler 使全部控制台日志自动变彩色。由于都是继承自Handler基类,公有方法和入参彻底一致,因此能够直接赋值替换。
设置celery的conf配置项,解决日志可点击跳转问题。
worker_task_log_format ='%(asctime)s - %(name)s - "%(pathname)s:%(lineno)d" - %(funcName)s - %(levelname)s - %(message)s'
worker_log_format ='%(asctime)s - %(name)s - "%(pathname)s:%(lineno)d" - %(funcName)s - %(levelname)s - %(message)s'
禁止print重定向,不但愿print被转化成celery日志。配置这个。
worker_redirect_stdouts = False
对比原来的日志,原来的日志样式太差了。不可点击跳转和无彩色。日志