Package linspector :: Package lib :: Package core :: Module logger
[hide private]
[frames] | no frames]

Source Code for Module linspector.lib.core.logger

 1  import logging 
 2  import logging.handlers 
 3  import os 
 4  import os.path as path 
 5   
 6   
7 -class Logger():
8 """ 9 Logger class that prints its messages and keeps them also inside a logfile 10 """ 11
12 - def __init__(self, logfile="./linspector.log", logLevel=logging.DEBUG, logfileLevel=logging.DEBUG):
13 """ 14 initializes a new Logger object. 15 16 :param logLevel: the LoggingLevel from the console output (DEBUG default) 17 :param logfile: the file where to log. Logs are rotated by default. 18 :param logfileLevel: the LoggingLevel for the file Logger. (DEBUG default) 19 """ 20 logfile = path.expanduser(logfile) 21 if not path.exists(path.dirname(logfile)): 22 os.makedirs(path.dirname(logfile)) 23 24 self.log = logging.getLogger("LinspectorLogger") 25 self.log.setLevel(logging.DEBUG) 26 27 consoleHandler = logging.StreamHandler() 28 consoleHandler.setLevel(logLevel) 29 30 fileHandler = logging.handlers.RotatingFileHandler(logfile, maxBytes=1024000, backupCount=4) 31 fileHandler.setLevel(logfileLevel) 32 33 consoleFormatter = logging.Formatter('[%(levelname)s]: %(message)s') 34 fileFormatter = logging.Formatter('%(asctime)s [%(levelname)s]: %(message)s') 35 36 consoleHandler.setFormatter(consoleFormatter) 37 fileHandler.setFormatter(fileFormatter) 38 39 self.log.addHandler(consoleHandler) 40 self.log.addHandler(fileHandler)
41
42 - def d(self, message):
43 self.log.debug(message)
44
45 - def i(self, message):
46 self.log.info(message)
47
48 - def w(self, message):
49 self.log.warn(message)
50
51 - def e(self, message):
52 self.log.error(message)
53
54 - def c(self, message):
55 self.log.critical(message)
56
57 - def close(self):
58 logging.shutdown()
59