-
Notifications
You must be signed in to change notification settings - Fork 1
/
Output.py
41 lines (25 loc) · 1.22 KB
/
Output.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
import logging
from Settings import LOGFILE_PATH, LOGFILE_ERROR
class Output:
def __init__(self, logname):
self.infoLog = self.setup_info_logger(logname, LOGFILE_PATH + logname)
self.errorLog = self.setup_error_logger('error', LOGFILE_ERROR, level=logging.DEBUG)
def setup_info_logger(self, name, log_file, level=logging.INFO):
formatter = logging.Formatter(fmt='%(asctime)s %(levelname)s: %(message)s', datefmt='%m/%d/%y %H:%M:%S')
return self.setup_logger(name, log_file, formatter, level=logging.INFO)
def setup_error_logger(self, name, log_file, level=logging.INFO):
formatter = logging.Formatter(fmt='%(asctime)s %(levelname)s %(funcName)s: %(message)s', datefmt='%m/%d/%y %H:%M:%S')
return self.setup_logger(name, log_file, formatter, level=logging.INFO)
def setup_logger(self, name, log_file, formatter, level=logging.INFO):
"""Function setup as many loggers as you want"""
handler = logging.FileHandler(log_file)
handler.setFormatter(formatter)
logger = logging.getLogger(name)
logger.setLevel(level)
logger.addHandler(handler)
return logger
def write(self, res):
self.infoLog.info(res)
def writeError(self, res):
self.infoLog.error(res)
self.errorLog.error(res)