-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlog.py
38 lines (26 loc) · 938 Bytes
/
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
import logging
import datetime
import os
class Log(object):
log = None
def __init__(self, name):
self.name = name
if not os.path.isdir('./logs'):
os.mkdir('./logs')
Log.log = self.setup_custom_logger()
def setup_custom_logger(self):
formatter = logging.Formatter(fmt='%(asctime)s - %(levelname)s - %(module)s - %(message)s')
streamhandler = logging.StreamHandler()
streamhandler.setFormatter(formatter)
today = datetime.date.today()
log_filename = f'{today}.log'
filehandler = logging.FileHandler(f'./logs/{log_filename}')
filehandler.setFormatter(formatter)
logger = logging.getLogger(self.name)
logger.setLevel(logging.INFO)
logger.addHandler(streamhandler)
logger.addHandler(filehandler)
return logger
@staticmethod
def logger() -> logging.Logger:
return Log.log