Я хочу записывать информацию из нескольких модулей Python в одну и ту же папку (my_code).
level_1
some_file.py
another_file.py
level_2
more_code.py
my_code
__init__.py
file1.py
file2.py
file3.py
Если я добавлю приведенный ниже код в все мои файлы все будут работать
import logging
import sys
LOG = logging.getLogger(__name__)
LOG.setLevel(logging.INFO)
handler = logging.StreamHandler(sys.stdout)
LOG.addHandler(handler)
, но у меня есть несколько проблем с этим:
- Я должен иметь возможность добавить это к
__init__
и иметь только инициализацию LOG
в каждом файле. - Это не должно влиять на регистрацию в сторонних модулях или любых других модулях, не разработанных / не контролируемых мной.
- Если я хочу изменить уровень, скажем DEBUG, мне нужно пройти через всефайлы ...
Я пытался добавить это к __init__
import logging
import sys
handler = logging.StreamHandler(sys.stdout)
logging.basicConfig(level=logging.DEBUG, handlers=[handler])
, что позволило мне установить LOG
в каждом файле, но в то же время затронуло любоеведение журнала из сторонних модулей и чужого кода.
Как правильно написать это?