from celery.utils.log import get_task_logger logger = get_task_logger(__name__) 也可以直接使用 logging 模块: import logging logger1 = logging.getLogger(__name__) 直接在 task 中输出: @app.task(name="tasks1.add") def add(x, y): logger.info("this is from logger") return x + y ...
celery 提供了一个特殊的日志句柄 “celery.task”,你可以通过继承这个句柄自动获取任务名称和唯一id作为日志的一部分。 最佳实践是在模块的开头创建一个所有任务公用的日志句柄: 1 2 3 4 5 6 7 8 fromcelery.utils.logimportget_task_logger logger=get_task_logger(__name__) @app.task defadd(x, y): ...
from celery.utils.log import get_task_logger # 创建一个Celery实例 app = Celery('tasks', broker='redis://localhost:6379/0') # 获取一个日志记录器 logger = get_task_logger(__name__) # 定义一个任务函数 @app.task def add(x, y): # 在任务中打印一些信息 logger.info('Adding %s + %s'...
之前在celery中一直用python 自带的 logging ,需求需要按天切分日志,有点蛋疼,谁用谁知道啊,之后上网查了查,可以使用自带的get_task_logger ,话不多说来~ # myapp/tasks.pyfromcelery.utils.logimportget_task_logger log=get_task_logger(__name__)@app.taskdefadd(x,y):log.info("Calling task add(%d,...
在task 中的定义可以使用 celery 中方法: fromcelery.utils.logimportget_task_logger logger=get_task_logger(__name__) 也可以直接使用 logging 模块: importlogging logger1=logging.getLogger(__name__) 直接在 task 中输出: @app.task(name="tasks1.add")defadd(x,y):logger.info("this is from logg...
logger=get_task_logger(__name__) 1. 2. 3. 也可以直接使用 logging 模块: importlogging logger1=logging.getLogger(__name__) 1. 2. 3. 直接在 task 中输出: @app.task(name="tasks1.add")defadd(x,y):logger.info("this is from logger")returnx+y ...
#定时任务在文件中的写法#-*-coding:utf-8-*-fromCeleryimportappfromcelery.schedulesimportcrontabfromcelery.utils.logimportget_task_loggerlogger=get_task_logger(__name__)#通过beat组件周期性将任务发送给woker执行。在示例中新建文件period_task.py并添加任务到配置文件中@app.on_after_configure.connectdefset...
task_id task_name 通过celery.utils.log访问任务记录器,这两个参数可以帮助我们了解日志消息来自哪个任务。 # tasks.pyimportosfromcelery.utils.logimportget_task_loggerfromworkerimportapp logger = get_task_logger(__name__)@app.task()defadd(x, y): ...
from celery.utils.log import get_task_logger logger = get_task_logger(__name__) @task(name="multiply_two_numbers") def mul(x, y): total = x * (y * random.randint(3, 100)) #HERE: logger.info('Adding {0} + {1}'.format(x, y)) return total 如果您想了解更多信息,请在此处...
2、Django程序中执行task,那么程序中日志的写入,肯定不能使用print打印输出到启动程序Django主日志中去, 那肯定是采用logging模块配置不同的logger来实现 3、Django怎么把自定义的logger和celery关联起来呢, celery有自己自带的logger(from celery.utils.log import get_task_logger),每个...