new logger from ruff

This commit is contained in:
Johannes Findeisen 2013-05-21 02:45:03 +02:00
commit 0d58dee155

View file

@ -1,22 +1,74 @@
from datetime import datetime import logging
import logging.handlers
import os
import os.path as path
DEBUG = "[debug]"
NOTICE = "[notice]" class Logger():
WARNING = "[warning]" """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()
def logVerbose(message, verbose=True): def logVerbose(message, verbose=True):
if verbose: LOGGER.d(message)
print DEBUG + " " + str(message)
def logNotice(message, verbose=True): def logNotice(message, verbose=True):
if verbose: LOGGER.i(message)
print NOTICE + " " + str(message)
def logWarning(message): def logWarning(message):
print WARNING + " " + message LOGGER.w(message)
def logWarningConfig(file="file", missing="missing"): def logWarningConfig(file="file", missing="missing"):
@ -24,17 +76,4 @@ def logWarningConfig(file="file", missing="missing"):
def writeLogToFile(logfile, message): def writeLogToFile(logfile, message):
f = open(logfile, 'a') pass #always written to file...
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()