This commit is contained in:
Johannes Findeisen 2013-05-20 23:01:57 +02:00
commit 375f711d04
3 changed files with 27 additions and 66 deletions

View file

@ -1,74 +1,22 @@
#! /usr/bin/python
from datetime import datetime
import logging, logging.handlers
import os.path as path
class Logger():
'''Logger class that prints its messages and keeps them also inside a logfile'''
def __init__(self,logLevel=logging.DEBUG, logfile="var/log/linspector.log", logfileLevel=logging.DEBUG):
'''
initializes a new Logger object.
params:
logLevel the LoggingLevel from the console output (DEBUG default)
logfile the file where to log. Logs are rotated by default.
logfileLevel the LoggingLevel for the file Logger. (DEBUG default)
'''
logfile=path.expanduser(logfile)
if not path.exists(path.dirname(logfile)):
os.makedirs(path.dirname(logfile))
self.log = logging.getLogger("LinspectorLogger")
self.log.setLevel(logging.DEBUG)
consoleHandler = logging.StreamHandler()
consoleHandler.setLevel(logLevel)
fileHandler = logging.handlers.RotatingFileHandler(logfile, maxBytes=2048, backupCount=4)
fileHandler.setLevel(logfileLevel)
consoleFormatter = logging.Formatter('[%(levelname)s]: %(message)s')
fileFormatter = logging.Formatter('%(asctime)s [%(levelname)s]: %(message)s')
consoleHandler.setFormatter(consoleFormatter)
fileHandler.setFormatter(fileFormatter)
self.log.addHandler(consoleHandler)
self.log.addHandler(fileHandler)
def d(self, message):
self.log.debug(message)
def i(self, message):
self.log.info(message)
def w(self, message, category=None):
self.log.warn(message, category)
def e(self, message):
self.log.error(message)
def c(self, message):
self.log.critical(message)
self.log.critical(message)
LOGGER=Logger()
DEBUG = "[debug]"
NOTICE = "[notice]"
WARNING = "[warning]"
def logVerbose(message, verbose=True):
LOGGER.d(message)
if verbose:
print DEBUG + " " + str(message)
def logNotice(message, verbose=True):
LOGGER.i(message)
if verbose:
print NOTICE + " " + str(message)
def logWarning(message):
LOGGER.w(message)
print WARNING + " " + message
def logWarningConfig(file="file", missing="missing"):
@ -76,4 +24,17 @@ def logWarningConfig(file="file", missing="missing"):
def writeLogToFile(logfile, message):
pass #always written to file...
f = open(logfile, 'a')
f.write("[" + str(datetime.now()) + "] " + message + '\n')
f.close()
class Logger:
def __init__(self, logfile="/dev/null"):
self.logfile = logfile
def logSomething(message, verbose=False):
f = open(self.logfile, 'a')
f.write("[" + str(datetime.now()) + "] " + message + '\n')
f.close()