Импорт оболочки журнала Azure из другого файла – не работает ⇐ Python
Импорт оболочки журнала Azure из другого файла – не работает
У меня возникли проблемы с созданной мной оболочкой журналирования. структура репо такая:
├───аутентификация │ └───auth_handler.py └───logger.py Внутри auth_handler у меня есть несколько функций, которые используются некоторыми конечными точками fastapi. обертка вот такая:
def log_function_call(func): def-обертка(*args, **kwargs): logger = logging.getLogger(env_logger) start_time = время.время() результат = func(*args, **kwargs) конечное_время = время.время() свойства = { "custom_dimensions": { "имя_функции": func.__name__, «прошедшее»: конечное_время — начальное_время, "args": аргументы, "кварги": кварги, «возврат»: результат, } } logger.log( регистрация.ИНФО, msg=f"Прошло время вызова {func.__name__}: {end_time-start_time}", дополнительные = свойства, ) вернуть результат возвратная обертка и он инициализируется с помощью файла конфигурации yaml с потоком и обработчиком Azure (с opencensus). проблема, с которой я сталкиваюсь, заключается в том, что всякий раз, когда я вызываю конечные точки с помощью декорированных функций, журнал создается в потоке, а не в Azure. если я просто использую созданный регистратор, он работает нормально.
Я предполагаю, что проблема заключается в расположении файлов внутри папки, потому что, если я попытаюсь вызвать декоратор с функцией на том же уровне, что и файл logger.py, он сработает, как в этом случае:
р> ├───авт. │ └───auth_handler.py └───logger.py └───test.py
где test.py что-то вроде
импортировать регистратор как lg @lg.log_function_call функция защиты (тест): возвратный тест
У меня возникли проблемы с созданной мной оболочкой журналирования. структура репо такая:
├───аутентификация │ └───auth_handler.py └───logger.py Внутри auth_handler у меня есть несколько функций, которые используются некоторыми конечными точками fastapi. обертка вот такая:
def log_function_call(func): def-обертка(*args, **kwargs): logger = logging.getLogger(env_logger) start_time = время.время() результат = func(*args, **kwargs) конечное_время = время.время() свойства = { "custom_dimensions": { "имя_функции": func.__name__, «прошедшее»: конечное_время — начальное_время, "args": аргументы, "кварги": кварги, «возврат»: результат, } } logger.log( регистрация.ИНФО, msg=f"Прошло время вызова {func.__name__}: {end_time-start_time}", дополнительные = свойства, ) вернуть результат возвратная обертка и он инициализируется с помощью файла конфигурации yaml с потоком и обработчиком Azure (с opencensus). проблема, с которой я сталкиваюсь, заключается в том, что всякий раз, когда я вызываю конечные точки с помощью декорированных функций, журнал создается в потоке, а не в Azure. если я просто использую созданный регистратор, он работает нормально.
Я предполагаю, что проблема заключается в расположении файлов внутри папки, потому что, если я попытаюсь вызвать декоратор с функцией на том же уровне, что и файл logger.py, он сработает, как в этом случае:
р> ├───авт. │ └───auth_handler.py └───logger.py └───test.py
где test.py что-то вроде
импортировать регистратор как lg @lg.log_function_call функция защиты (тест): возвратный тест
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Создание журнала запросов/ответов команды Curl в сценарии оболочки (bash)
Anonymous » » в форуме Linux - 0 Ответы
- 64 Просмотры
-
Последнее сообщение Anonymous
-