我想创建我的自定义记录器类
import logging
class mylooger():
def __init__(module_name):
logger=logging.getlogger(module_name)
我想在主文件和另外两个文件中使用记录器
main.py
test1.py
test2.py
我想确定main.py中的日志文件路径,并将main.py,test1.py和test2.py文件保留在同一文件中。
现在假设稍后我想在其他文件(例如main1.py)中导入test1.py和test2.py。所以我想从main1.py决定我的日志文件路径,并将main1.py,test1.py和test2.py保留在同一文件中。
答案 0 :(得分:1)
这不是stdlib日志记录的设计方式。如果要在多个模块中使用同一记录器,只需获取同一记录器:
# in main.py
logger = logging.getLogger("mylogger")
def main():
...
logging.basicConfig(...)
logger.info("some event")
并且:
# in test1.py
logger = logging.getLogger("mylogger")
def some_lib_function():
...
logger.debug("some other event")
日志记录框架本身维护全局可变状态,以便将它们解析为相同的记录器,从而解析为相同的格式化程序/处理程序。