我想使用python的日志记录模块和点‘’为我的项目设置日志记录层次结构。此处描述的名称结构:https://docs.python.org/2/library/logging.html#logging.getLogger
对于给定的模块(bar.py),我想设置日志记录器,如下所示:
log = logging.getLogger('x.bar')
然后我可以使用log。(debug/info/warning/etc...)贯穿整个bar.py模块。我知道bar.py永远不会直接运行,但其中的函数可能会被其他几个模块调用-所以我不知道在代码片段中设置“x”是什么。我希望bar.py从它的调用者(x)继承日志处理程序和格式化程序。
发布于 2018-07-17 03:56:08
通过logging.getLogger('mymodule')
实例化模块范围的日志记录器的标准方法不是为您的预期行为量身定做的。相反,您应该让调用者将记录器作为参数传递给模块中的函数
# mymodule.py
def foo(plogger, a, b):
logger=plogger.getChild('bar')
...
https://stackoverflow.com/questions/51368859
复制相似问题