-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlog.py
47 lines (37 loc) · 1.2 KB
/
log.py
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
import logging
from colorlog import ColoredFormatter
def setup_logger():
"""Return a logger with a default ColoredFormatter."""
formatter = ColoredFormatter(
(
'%(log_color)s%(levelname)-5s%(reset)s '
'%(yellow)s[%(asctime)s]%(reset)s'
'%(green)s %(name)s %(purple)s %(filename)s %(purple)s %(funcName)s %(purple)s:%(lineno)d%(reset)s '
'%(bold_blue)s%(message)s%(reset)s'
),
datefmt='%y-%m-%d %H;%M:%S',
log_colors={
'DEBUG': 'blue',
'INFO': 'yellow',
'WARNING': 'red',
'ERROR': 'blue,bg_bold_red',
'CRITICAL': 'red,bg_white',
}
)
# global tag
logger = logging.getLogger('global-tag')
handler = logging.StreamHandler()
handler.setFormatter(formatter)
logger.addHandler(handler)
logger.setLevel(logging.DEBUG)
return logger
def main():
"""Create and use a logger."""
logger = setup_logger()
logger.debug('a debug message')
logger.info('an info message')
logger.warning('a warning message')
logger.error('an error message')
logger.critical('a critical message')
if __name__ == '__main__':
main()