регистрация в Python - как обрабатывать имя файла журнала при создании родительским классом - PullRequest
0 голосов
/ 21 ноября 2018

В проекте Python я использую несколько классов, которые должны регистрировать свои операции.Я решил эту проблему, создав вспомогательный класс, такой как

import logging
class LoggerModule():
    def __init__():
        self.logger = ... (creation of a logger given a config file)

, где в файле конфигурации указано поле имени файла обработчика файла.Все классы проекта наследуются от него следующим образом:

class MyClass(LoggerModule):
    def __init__():
        super.__init__()

    def foo():
        self.logger.info('HELLO!')

Что я хотел бы сделать, так это то, что если я запускаю основной модуль N раз на одной машине, все процессы N Python будут записываться в один и тот жеимя файла журнала.Вместо этого я хотел бы, чтобы каждый процесс записывал в отдельное имя файла журнала, скажем, info_ {N} .log.Это можно сделать, сохранив имя файла в переменной python globals (), затем заставить класс LoggerModule получить имя файла из него, но перед тем, как использовать глобальные переменные (), я хотел бы знать, есть ли другие более чистые альтернативы.

...