/
sejeenn
/
python_basic
Обзор
Документация
Войти
/
sejeenn
/
python_basic
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
Module27/03_logging/main.py
51 строка
2 KB
Eugene Vorontsov
Copy repo python basic
03 фев 2025, 20:23
03 фев 2025, 20:23
a8fce4a
Код
Авторство
О чём код?
import datetime from typing import Callable from functools import wraps def logging(func: Callable) -> Callable: """Декоратор отвечающий за правильность выполнения функции""" @wraps(func) def wrapper_func(*args, **kwargs): print('\nНазвание функции: ', func.__name__) print('Её документация: \n', func.__doc__) try: func(*args, **kwargs) except IndexError: print('Ошибка. Дата и время ошибки записаны в файл function_errors.log') with open('function_errors.log', 'w', encoding="UTF-8") as file: file.write('Дата и время ошибки: ' + str(datetime.datetime.now())) return wrapper_func @logging def say_hello(name: str) -> None: """ Документация: В данной функции мы просто говорим Привет """ print('Привет {}'.format(name)) @logging def say_goodbye(name: str) -> None: """ Документация: В данной функции мы просто говорим До свидания """ print('До свидания {}'.format(name)) @logging def function_with_error() -> str: """ Документация: Вызывается функция заведомо с ошибкой индекса: IndexError """ data = [1, 2, 3, 4, 5] return 'Последний элемент списка: '.format(data[10]) say_hello('Eugene') say_goodbye('Eugene') function_with_error()