Python 2.7: журнал отображается дважды, когда модуль `logging` используется в двух скриптах python

Контекст:

Python 2.7.

Два файла в одной папке:

Первый: основной сценарий.Второе: пользовательский модуль.Цель:

Возможность использоватьlogging модуль без какого-либо столкновения (см. вывод ниже).

файлы:a.py:
import logging
from b import test_b

def test_a(logger):
    logger.debug("debug")
    logger.info("info")
    logger.warning("warning")
    logger.error("error")

if __name__ == "__main__":
    # Custom logger.
    logger = logging.getLogger("test")

    formatter = logging.Formatter('[%(levelname)s] %(message)s')
    handler = logging.StreamHandler()
    handler.setFormatter(formatter)

    logger.setLevel(logging.DEBUG)
    logger.addHandler(handler)

    # Test A and B.
    print "B"
    test_b()
    print "A"
    test_a(logger)
b.py:
import logging

def test_b():
    logging.debug("debug")
    logging.info("info")
    logging.warning("warning")
    logging.error("error")
Выход:

Как можно увидеть ниже, журнал отображаетсядважды.

python a.py
B
WARNING:root:warning
ERROR:root:error
A
[DEBUG] debug
DEBUG:test:debug
[INFO] info
INFO:test:info
[WARNING] warning
WARNING:test:warning
[ERROR] error
ERROR:test:error

Будет ли у кого-нибудь решение этого?

РЕДАКТИРОВАТЬ: не работаетtest_b() не приведет к дублированию журнала и правильному форматированию журнала (ожидается).

Ответы на вопрос(1)

Ваш ответ на вопрос