-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathLogger.py
More file actions
60 lines (46 loc) · 2.33 KB
/
Copy pathLogger.py
File metadata and controls
60 lines (46 loc) · 2.33 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
import logging
import coloredlogs
from datetime import datetime
class Logger:
'''Класс отвечающий за логирование. Логи пишуться в файл, так же выводться в консоль'''
def __init__(self,config):
log_level = {'debug':logging.DEBUG,
'info':logging.INFO,
'warning':logging.WARNING,
'critical':logging.CRITICAL,
'error':logging.ERROR}
self.logs = logging.getLogger(__name__)
self.logs.setLevel(log_level[config['log_level']])
# название файла
name = config['path_log'] + '-'.join('-'.join('-'.join(str(datetime.now()).split()).split('.')).split(':')) + '.log'
# обработчик записи в лог-файл
self.file = logging.FileHandler(name)
self.fileformat = logging.Formatter("%(asctime)s : %(levelname)s : %(message)s")
self.file.setLevel(log_level[config['log_level']])
self.file.setFormatter(self.fileformat)
# обработчик вывода в консоль лог файла
self.stream = logging.StreamHandler()
self.streamformat = logging.Formatter(
"%(levelname)s:%(module)s:%(message)s")
self.stream.setLevel(log_level[config['log_level']])
self.stream.setFormatter(self.streamformat)
# инициализация обработчиков
self.logs.addHandler(self.file)
self.logs.addHandler(self.stream)
coloredlogs.install(level=log_level[config['log_level']], logger=self.logs, fmt='%(asctime)s : %(levelname)s : %(message)s')
self.logs.info('Start logging')
def debug(self, message):
'''сообщения отладочного уровня'''
self.logs.debug(message)
def info(self, message):
'''сообщения информационного уровня'''
self.logs.info(message)
def warning(self, message):
'''не критичные ошибки'''
self.logs.warning(message)
def critical(self, message):
'''мы почти тонем'''
self.logs.critical(message)
def error(self, message):
'''ребята я сваливаю ща рванет'''
self.logs.error(message)