我想修改我当前的日志设置,而不必将logger对象作为参数传递给函数。目前在每个模块的顶部我定义了一个LOG对象
LOG = logging.getLogger(__name__)
我想更改日志记录,以便:
因此,如果您有两个任务:
@task
def taskOne():
LOG.log("in task one")
foo.foo()
@task
def taskTwo():
LOG.log("in task two")
foo.foo
并在模块foo中:
def foo():
LOG.log("in foo")
然后:
taskOne
应该将“在任务1 \ nin foo中”发送到名为“taskOne.log”的文件中taskTwo
应该将“在任务2 \ nin foo中”发送到名为“taskTwo.log”的文件中foo
不应该将日志发送到文件我正在考虑建立一个处理程序,检查调用堆栈以查看它当前是否在celery任务的上下文中执行,如果是,则登录到文件。但是,我不确定解决方案是否具有高效性,或者是否实施了不良做法。