3 from datetime import datetime
19 def __new__(cls, name, out=sys.stderr):
20 if cls.__instance is None:
21 cls.__instance = super(Logger, cls).__new__(cls)
24 def __init__(self, name, out=sys.stderr):
30 def _set_level(self, value):
31 self.__level = int(value)
32 level = property(_get_level, _set_level)
34 def log(self, level, message):
35 if level <= self.__level:
36 ts = datetime.now().strftime('%Y-%m-%d %H:%M')
37 self.__out.write('[%s] %s\n' % (ts, message))
39 def debug(self, message):
40 self.log(self.DEBUG, message)
42 def info(self, message):
43 self.log(self.INFO, message)
45 def warn(self, message):
46 self.log(self.WARNING, message)
48 def error(self, message):
49 self.log(self.ERROR, message)
51 def panic(self, message):
52 self.log(self.PANIC, message)