Как узнать значения аргументов функции, которое ей передали?

Есть такое задание:

  • Написать декоратор, который будет логировать (записывать в лог файл) ошибки из декорируемой функции и выбрасывать их дальше.
  • Имя файла лога - function_errors.log
  • Формат лога: <имя функции> <параметры вызова> <тип ошибки> <текст ошибки>
  • Лог файл открывать каждый раз при ошибке в режиме 'a'

вот мое решение:

def log_errors(func):
    def suragate(*args, **kwargs):
        try:
            result = func(*args, **kwargs)
            return result
        except Exception as exp:
            with open('function_errors.txt', 'a') as file:
                log_string = f'<{func.__name__}><{type(exp)}><{exp}><{exp.args}>\n'
                file.write(log_string)
            print(exp)

    return suragate

Но, я не понимаю, как в строке лога, после имени функции, получить параметры вызова?


Ответы (0 шт):