Python logger с несколькими модулями - PullRequest
0 голосов
/ 12 февраля 2019

Я хочу создать свой собственный класс регистратора

import logging
class mylooger():
   def __init__(module_name):
       logger=logging.getlogger(module_name)

И я хочу использовать регистратор в моем основном файле и двух других файлах

main.py
test1.py
test2.py

Я хочу определить свой путь к файлу журнала вmain.py и ведите журналы main.py, test1.py и test2.py в одном файле.

Теперь предположим, что позже я захочу импортировать test1.py и test2.py в другой файл, например main1.py,Поэтому я хочу выбрать путь к лог-файлу из main1.py и сохранить журналы main1.py, test1.py и test2.py в одном файле.

1 Ответ

0 голосов
/ 12 февраля 2019

Это не то, как ведение журнала stdlib.Если вы хотите использовать один и тот же регистратор в нескольких модулях, просто получите один и тот же регистратор:

# in main.py
logger = logging.getLogger("mylogger")

def main():
    ...
    logging.basicConfig(...)
    logger.info("some event")

И:

# in test1.py
logger = logging.getLogger("mylogger")

def some_lib_function():
    ...
    logger.debug("some other event")

Сама структура ведения журнала поддерживает глобальное изменяемое состояние, так что этиразрешаются к тем же регистраторам и, следовательно, к тем же форматерам / обработчикам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...