-
Notifications
You must be signed in to change notification settings - Fork 18
Expand file tree
/
Copy pathlogg_cvd19.py
More file actions
68 lines (63 loc) · 3.09 KB
/
Copy pathlogg_cvd19.py
File metadata and controls
68 lines (63 loc) · 3.09 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
import logging
import sqlite3
logger_s = logging.getLogger("covid_19_success")
logger_s.setLevel(logging.INFO)
logger_e = logging.getLogger("covid_19_errors")
logger_e.setLevel(logging.ERROR)
formatter = logging.Formatter("%(filename)s[LINE:%(lineno)d]# %(levelname)-8s [%(asctime)s] %(message)s")
handler_success = logging.FileHandler('success.log', 'a', 'utf-8')
handler_errors = logging.FileHandler('errors.log', 'a', 'utf-8')
handler_success.setFormatter(formatter)
handler_errors.setFormatter(formatter)
logger_s.addHandler(handler_success)
logger_e.addHandler(handler_errors)
def decorated_log(func):
def wrapper(*args, **kwargs):
key = None
if func.__name__ == '__init__':
key = 'init'
if func.__name__ == 'save':
key = 'save'
try:
result = func(*args, **kwargs)
if result:
return result
except AttributeError:
logger_e.error('F_name or L_name can not be changed')
raise AttributeError("F_name or L_name can not be changed")
except TypeError:
logger_e.error('Ошибка с типом данных')
raise TypeError("Ошибка с типом данных")
except UnicodeError:
logger_e.error('Something wrong with your decoder in SAVE')
raise UnicodeError('Something wrong with your decoder in SAVE')
except ValueError:
logger_e.error('Ошибка с типом данных')
raise ValueError("Ошибка с данными")
except sqlite3.IntegrityError:
logger_e.error('Данные с таким документом уже существуют')
raise sqlite3.IntegrityError("Данные с таким документом уже существуют")
except sqlite3.OperationalError:
logger_e.error('Проблемы с подключением к базе')
raise sqlite3.OperationalError("Проблемы с подключением к базе")
except sqlite3.DatabaseError:
logger_e.error('Ошибка внутри базы')
raise sqlite3.DatabaseError("Ошибка внутри базы")
except IsADirectoryError:
logger_e.error('Cant write in directory. Problem in SAVE')
raise IsADirectoryError('Cant write in directory. Problem in SAVE')
except PermissionError:
logger_e.error('U cant write in this file. Problem in SAVE')
raise PermissionError('U cant write in this file. Problem in SAVE')
except OSError:
logger_e.error('Some System Error. Problem in SAVE')
raise OSError('Some System Error. Problem in SAVE')
except RuntimeError:
logger_e.error('Something unexpected. Problem in SAVE')
raise RuntimeError('Something unexpected. Problem in SAVE')
else:
if key == 'init':
logger_s.info('Пациент создан')
if key == 'save':
logger_s.info('Пациент сохранен')
return wrapper