Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python-如何禁用从父目录导入的模块的日志记录?_Python_Logging_Import_Module_Python Import - Fatal编程技术网

Python-如何禁用从父目录导入的模块的日志记录?

Python-如何禁用从父目录导入的模块的日志记录?,python,logging,import,module,python-import,Python,Logging,Import,Module,Python Import,我的文件结构如下: util/ └── utilA.py src/ └── sublevel └── moduleB.py 在moduleB中,我使用from util.utilA import*从util导入函数 在moduleB中,我想禁用util中的logging.info(),但是下面两行行不通,如果我运行moduleB,我仍然可以看到从utilA中的函数生成的日志: logging.getLogger('util.utilA').propagate = False loggi

我的文件结构如下:

util/
└── utilA.py
src/
└── sublevel
    └── moduleB.py
moduleB
中,我使用
from util.utilA import*
从util导入函数

moduleB
中,我想禁用util中的
logging.info()
,但是下面两行行不通,如果我运行
moduleB
,我仍然可以看到从
utilA
中的函数生成的日志:

logging.getLogger('util.utilA').propagate = False
logging.getLogger('util.utilA').setLevel(logging.ERROR)
我还尝试了
logging.getLogger('util')
logging.getLogger('utilA')
,但这两种方法都不起作用

还有一件事让我感到困惑,那就是我对另一个模块使用了相同的两行(
logging.getLogger('pdfminer')…
),它成功地禁用了该模块的日志记录。对于我的本地
utilA
,它就是不起作用


有人能帮忙吗?谢谢大家!

日志记录基于获取记录器时使用的名称,而不是执行日志记录的模块的名称。特别是,
logging.info()
使用根记录器。如果要调整给定模块的日志记录,请确保它未使用根记录器,并使用其
getLogger(“somename”)
logger名称。

utilA使用的记录器是什么?(它应该执行
logging.getLogger(“某物”)
)。日志记录不基于模块名称。这是一种常见的约定,但模块可以创建任何名称的记录器。@tdelaney
utilA
使用的是
logging.info(“发生了什么事”)
。将其更改为
logger=logging.getLogger(\uuu name\uuuu)
logger.info(“发生了什么事”)
后,问题得到了解决。非常感谢你!