Распространение logging.logger из модуля в один файл журнала ⇐ Python

Программы на Python
Anonymous
Распространение logging.logger из модуля в один файл журнала

Сообщение Anonymous »

У меня есть проект Python с такой структурой:

Код: Выделить всё

Project-Root/
|-- script.py
|-- utils/
|   |-- utils.py
|   |-- init.py
Мой скрипт.py выглядит следующим образом: я импортирую журналирование, настраиваю выходной файл, импортирую функцию из утилит, затем запускаю некоторый код:

Код: Выделить всё

import logging
from utils.utils import load_query

# Setup logger
logger = logging.getLogger(__name__)
logger.setLevel(logging.INFO)
file_handler = logging.FileHandler('etl.log')
logger.addHandler(file_handler)

logger.info("Starting")
load_query()
logger.info("Finished")
В utils.py я настраиваю ведение журнала, вызывая только getLogger, а затем получаю код для функции, включающей оператор logger.info:

Код: Выделить всё

# Setup logger
import logging
logger = logging.getLogger(__name__)

def load_query():
logger.info("Running function")
Основываясь на том, что я прочитал здесь и здесь, я подумал, что это должно распространяться на настройки файла etl.log в script.py, но мой файл журнала показывает только журналы из script.py.
Почему это происходит и как я могу распространить журналы?>

Подробнее здесь: https://stackoverflow.com/questions/798 ... e-log-file

Вернуться в «Python»