Я использую logging
для регистрации информации и ошибок.И я написал вспомогательную функцию для переноса функции журнала.Однако, поскольку ведение журнала выполняется внутри этой вспомогательной функции, все атрибуты ведения журнала становятся атрибутами этого стека.Но значимые атрибуты для регистрации являются верхним стеком, то есть атрибутом стека вызывающего.Как это исправить?
Пример кода:
# foo.py
import logging
import log_util
def main():
formatter = logging.Formatter(fmt = '%(module)s::%(funcName)s - %(message)s')
s_handler = logging.StreamHandler()
s_handler.setFormatter(formatter)
logger = logging.getLogger("main")
logger.setLevel(logging.DEBUG)
logger.addHandler(s_handler)
log_util.helper_log(logger, 'TEST info')
if __name__ == '__main__':
main()
# log_util.py
def helper_log(lg, msg):
# do something
msg2 = # result of a serial statements
lg.info(msg2)
Фактический результат:
log_util.py::helper_log - TEST info
Ожидаемый результат:
foo.py::main - TEST info