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]"
WARNING = "[warning]"
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()
def logVerbose(message, verbose=True):
if verbose:
print DEBUG + " " + str(message)
LOGGER.d(message)
def logNotice(message, verbose=True):
if verbose:
print NOTICE + " " + str(message)
LOGGER.i(message)
def logWarning(message):
print WARNING + " " + message
LOGGER.w(message)
def logWarningConfig(file="file", missing="missing"):
@ -24,17 +76,4 @@ def logWarningConfig(file="file", missing="missing"):
def writeLogToFile(logfile, message):
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()
pass #always written to file...