В проекте 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 получить имя файла из него, но перед тем, как использовать глобальные переменные (), я хотел бы знать, есть ли другие более чистые альтернативы.