Я пытаюсь использовать обработчик памяти для ведения журнала , чтобы буферизовать сообщения журнала в моем фактическом обработчике ведения журнала.Вы используете обработчик памяти, создавая его экземпляры с некоторыми аргументами, такими как:
import logging
buffered_handler = logging.handlers.MemoryHandler(capacity=5,target=myActualHandler)
Однако я не хочу, чтобы мое приложение должно было создавать экземпляр обработчика для прямой регистрации или передавать любой из аргументов;Я хотел бы, чтобы этот код выглядел так:
import myhandlers
buffered_handler = myhandlers.BufferedRemoteHandler()
Вопрос: как мне это сделать?Я хотел бы попытаться создать экземпляр моего BufferedRemoteHandler
до , на самом деле , вернуть в журнал MemoryHandler с некоторыми конкретными аргументами.Я думал просто сделать BufferedRemoteHandler
функцией, которая возвращает нужный мне обработчик;это правильный путь?Есть ли способ создать класс, который, когда вы создаете его экземпляр, на самом деле возвращает совершенно другой класс?