大幅度改变celery日志外观,修改成日志可点击跳转和鲜艳五彩日志,解决脚本中已添加handler的logger和框架日志重复记录问题。
大幅度改变celery日志外观,修改成日志可点击跳转和鲜艳五彩日志,解决脚本中已添加handler的logger和框架日志重复记录问题。打猴子补丁。
打猴子补丁,
import logging
from nb_log.handlers import ColorHandler
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
你可以写一个函数,从而一键切换日志:
def patch_celery_console(): import logging from nb_log.handlers import ColorHandler logging.StreamHandler = ColorHandler # 解决celery的颜色不好看的问题 #设置celery的conf配置项,解决日志可点击跳转问题。 print(celery_app.conf) celery_app.conf.worker_task_log_format = '%(asctime)s - %(name)s - "%(pathname)s:%(lineno)d" - %(funcName)s - %(levelname)s - %(message)s' celery_app.conf.worker_log_format = '%(asctime)s - %(name)s - "%(pathname)s:%(lineno)d" - %(funcName)s - %(levelname)s - %(message)s' #禁止print重定向,不希望print被转化成celery日志。配置这个。 celery_app.conf.worker_redirect_stdouts = False
对比原来的日志,原来的日志样式太差了。不可点击跳转和无彩色。
反对极端面向过程编程思维方式,喜欢面向对象和设计模式的解读,喜欢对比极端面向过程编程和oop编程消耗代码代码行数的区别和原因。致力于使用oop和36种设计模式写出最高可复用的框架级代码和使用最少的代码行数完成任务,致力于使用oop和设计模式来使部分代码减少90%行,使绝大部分py文件最低减少50%-80%行的写法。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」
2018-07-19 python Thread对象的setDaemon(True)的作用。
2017-07-19 在程序中使用命令行的方式来调用py文件