使用多个入口点登录Python项目

使用多个入口点登录Python项目,python,logging,Python,Logging,在多模块Python环境中,文档建议在Python项目的第一个入口点运行以下代码段,以定义项目范围的日志记录 # ABC.py import logging logging.basicConfig(filename='master.log', level=logging.INFO) logging.info('Start Logging.') 如果某个其他文件是项目的另一个潜在的第一个入口点,我是否也会将相同的代码段添加到该文件的顶部?我试图实现的是在一个中心位置指定日志记录,而不管哪个文件

在多模块Python环境中,文档建议在Python项目的第一个入口点运行以下代码段,以定义项目范围的日志记录

# ABC.py
import logging

logging.basicConfig(filename='master.log', level=logging.INFO)
logging.info('Start Logging.')

如果某个其他文件是项目的另一个潜在的第一个入口点,我是否也会将相同的代码段添加到该文件的顶部?我试图实现的是在一个中心位置指定日志记录,而不管哪个文件是第一个入口点。

您可以创建一个专用的python脚本文件来设置日志记录。基本上,该文件将完全包含您的
ABC.py
文件现在包含的内容


然后在每个脚本中导入这个文件,这是一个潜在的“入口点”。即使文件被导入两次,文件中的代码也只会运行一次。

常用的方法是使用模块级记录器

在“主”对话框中,配置日志记录:

import logging

logging.basicConfig(filename='master.log', level=logging.INFO)
main()
在每个模块中使用模块级记录器。以这种方式创建的每个日志将使用公共配置:

import logging
# my.module.name is arbitrary string and logger identifier, usually it's each module name
logger = logging.getLogger("my.module.name")
logger.info("info msg")

module\u name
是“主”模块的名称吗?请解释清楚