Как использовать 2 декоратора
Подскажите, как правильно использовать сразу два декоратора ? В данном случае у меня либо отрабатывает один, либо другой декоратор
import logging
def decor(func):
def wrapper(*args, **kwargs):
if type(func(*args, **kwargs)) == int:
return f'Сумма чисел - {func(*args, **kwargs)}'
else:
return f'Получилось слово - {func(*args, **kwargs)}'
return wrapper
def namefile():
return __file__.split('\\')[-1]
def log(func):
def wrapper(*args, **kwargs):
logger = logging.getLogger(__name__)
logger.setLevel(logging.DEBUG)
dirlog = r'D:\PYTHON\log.txt'
file_handler = logging.FileHandler(dirlog)
file_handler.setFormatter(logging.Formatter('%(asctime)s - %(levelname)s - %(message)s', '%Y-%m-%d %H:%M:%S'))
logger.addHandler(file_handler)
logger.info(f'Скрипт - {namefile()} начал работу')
func(*args, **kwargs)
logger.info(f'Скрипт - {namefile()} завершил работу')
return wrapper
@log
@decor
def sum(a, b):
try:
n = a + b
return n
except TypeError as e:
logger.error(e)
except FileNotFoundError as e:
logger.error(e)
#print(sum('f', 'uck'))
print(sum(10, 10))