Фильтровать журналы по вызывающему абоненту

Скажем, есть модуль, журнал, из которого я хотел бы видеть, только когда он вызывается из определенного места (функция из других модулей) и не хочет видеть иначе. Как настроить регистрацию для этого?

Решения, о которых я могу думать:

Сохранить информацию о стеке вызовов в пользовательских Logger и впоследствии использовать ее в пользовательских Filter. Это сделало бы регистрацию менее легкой. Поддерживайте некоторую глобальную структуру, чтобы получить журнал, из которого следует обращаться к стеку журналов и управляет (например, на основе декораторов функций), который должен вернуть журнал. Объекты имен Logger будут отражать намерение, стек вызовов не будет сохраняться каждый раз, но это довольно сложно и не может быть прямо использовано с существующими библиотеками.

Есть ли какие-нибудь другие, надеюсь, лучшие решения?

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

0
задан 13 August 2018 в 16:07

0 ответов

Другие вопросы по тегам:

Похожие вопросы: