-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path_logger.py
More file actions
48 lines (40 loc) · 1.42 KB
/
Copy path_logger.py
File metadata and controls
48 lines (40 loc) · 1.42 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
import logging
import colorlog
logprint = True
logsave = False
logfile = "_debug.log"
log_colors_config = {
'DEBUG' : 'white',
'INFO' : 'green',
'WARNING' : 'yellow',
'ERROR' : 'red',
'CRITICAL' : 'bold_red'}
logger = logging.getLogger('logger')
logger.setLevel(logging.DEBUG)
if logsave :
logfile_handler = logging.FileHandler(filename=logfile, mode='a', encoding='utf8')
logfile_handler.setLevel(logging.INFO)
logfile_formatter = logging.Formatter(
fmt='[%(asctime)s.%(msecs)d] %(filename)s -> %(funcName)s line:%(lineno)d [%(levelname)s] : %(message)s',
datefmt='%Y-%m-%d %H:%M:%S')
logfile_handler.setFormatter(logfile_formatter)
if not logger.handlers and logsave :
logger.addHandler(logfile_handler)
if logsave : logfile_handler.close()
if logprint :
console_handler = logging.StreamHandler()
console_handler.setLevel(logging.DEBUG)
console_formatter = colorlog.ColoredFormatter(
fmt='%(log_color)s[%(asctime)s] %(message)s',
datefmt='%m-%d %H:%M:%S',
log_colors=log_colors_config)
console_handler.setFormatter(console_formatter)
if not logger.handlers and logprint :
logger.addHandler(console_handler)
if logprint : console_handler.close()
if __name__ == '__main__' :
logger.debug('Debug')
logger.info('Info')
logger.warning('Warning')
logger.error('Error')
logger.critical('Critical')