希望我有一个关于python/django日志的简单问题。你知道吗
我正在编写一个Django应用程序,它调用一些与其他进程、作业、脚本共享的模块,甚至可能在适当的时候调用一些其他应用程序,例如公共计算。你知道吗
我已经在中为我的Django应用程序配置了日志记录设置.py然后在我的主要应用程序模块中(视图.py等)我通过以下方式获取记录器:
logger = logging.getLogger('exampleApp')
一切正常。你知道吗
然而,当我的应用程序调用共享的其他包中的模块时,我显然不想拥有相同的模块日志记录.getLogger('exampleApp')调用,因为使用此模块的其他进程将使用不正确的记录器配置。你知道吗
进一步使用
logging.getLogger(__name__)
意味着当我从Django应用程序调用此模块时,它不会记录到正确的文件。你知道吗
所以我的问题是,对于共享模块,是否有一种方法让记录器使用“父调用方”中的实例,换句话说,Django应用程序或独立服务器进程,或脚本等等?或者它是否像必须将logger实例传递到模块中定义的类(作为构造函数中的参数)那样简单?你知道吗
希望这有道理。你知道吗
谢谢。你知道吗
在不传递logger对象的情况下,我的工作方式是改变
在顶层模块中
所以它实际上得到了
root
记录器。其他模块将遵循此根记录器格式。你知道吗相关问题 更多 >
编程相关推荐