args for OptionsParser defaults to sys.argv
[dbuscron] / dbuscron / logger.py
1
2 import sys
3 from datetime import datetime
4
5 class Logger(object):
6
7     __level = 1
8     __out = None
9     __name = None
10
11     DEBUG = 4
12     INFO = 3
13     WARNING = 2
14     ERROR = 1
15     PANIC = 0
16
17     def __init__(self, name, out=sys.stderr):
18         self.__out = out
19         self.__name = name
20
21     def _get_level(self):
22         return self.__level
23     def _set_level(self, value):
24         self.__level = int(value)
25     level = property(_get_level, _set_level)
26
27     def log(self, level, message):
28         if level <= self.__level:
29             ts = datetime.now().strftime('%Y-%m-%d %H:%M')
30             self.__out.write('[%s] %s\n' % (ts, message))
31
32     def debug(self, message):
33         self.log(self.DEBUG, message)
34     
35     def info(self, message):
36         self.log(self.INFO, message)
37     
38     def warn(self, message):
39         self.log(self.WARNING, message)
40
41     def error(self, message):
42         self.log(self.ERROR, message)
43
44     def panic(self, message):
45         self.log(self.PANIC, message)
46