Total Complexity | 11 |
Total Lines | 38 |
Duplicated Lines | 0 % |
Changes | 0 |
1 | """Определяет логирование процесса.""" |
||
2 | import os |
||
3 | import codecs |
||
4 | from typing import Union |
||
5 | from f_getconfig import getconfig |
||
6 | from datetime import datetime |
||
7 | |||
8 | timestamp = datetime.now().strftime("%d/%m/%Y, %H:%M:%S") |
||
9 | |||
10 | opt_logname: str = getconfig()['settings']['logname'] |
||
11 | |||
12 | |||
13 | def check_logging_opt() -> Union[bool, str]: |
||
14 | """Проверяет параметр логирования в конфиге.""" |
||
15 | opt_logging: str = getconfig()['settings']['logging'] |
||
16 | if opt_logging == 'True': |
||
17 | return True |
||
18 | elif opt_logging == 'False': |
||
19 | return False |
||
20 | else: |
||
21 | return 'ERR' |
||
22 | |||
23 | |||
24 | def writelog(logmsg: str) -> None: |
||
25 | """Пишет лог, если так указано в конфиге.""" |
||
26 | if os.path.isfile(opt_logname) is False: |
||
27 | pass |
||
28 | elif check_logging_opt() is True: |
||
29 | if logmsg == 'init': |
||
30 | with codecs.open(opt_logname, 'a', 'utf-8') as log: |
||
31 | log.write(f'\n\n{timestamp} - Start Program\n----------\n') |
||
32 | else: |
||
33 | with codecs.open(opt_logname, 'a', 'utf-8') as log: |
||
34 | log.write(f'{timestamp} - {logmsg}\n') |
||
35 | elif check_logging_opt() == 'ERR': |
||
36 | with codecs.open(opt_logname, 'a', 'utf-8') as log: |
||
37 | log.write(f'{timestamp} - Logging config error!\n') |
||
38 |