Просто импортируйте экземпляр переменной в пространство имен, в котором вы собираетесь его использовать:
module.A
import logging
logger = logging.getLogger(__name__)
module.B
from module.A import logger
Экземпляр переменной logger
теперь доступен в пространстве имен module.B
.
У вас будет этот экземпляр переменной, ссылающийся на тот же объект и доступный для нового пространства имен, если вы не отсоедините [python-docs] этот экземпляр переменной от того, на что он ссылается, или (повторно) привяжите [python-docs]это на другой объект.
Я прокомментировал инженерную деталь, о которой вам следует знать в вашем конкретном случае использования.
используйте builtins
сделать что-то вроде
import builtins
import logging
_logger = logging.getLogger(__name__)
builtins.LOGGER = _logger
теперь вы можете получить доступ к _logger
во всем проекте как к встроенному объекту типа с именем LOGGER
Обратите внимание: если вы используете пространство имен
Logger
,logging.getLogger(__name__)
вернетLogger
текущего модуля текущего приложения. Возможно, вам не захочется использовать это в модуле другого приложения, поскольку вы можете захотеть использовать модуль нового приложения. Однако всегда полезно использовать пространство имен Logger.