1
2
3 """Logger singleton.
4
5 This module allows halberd to easily log certain events.
6 """
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 import sys
26 import logging
27
28
29 _logger = None
30
31
32 _logfmt = '%(levelname)s %(message)s'
33
34
36 """Get a reference to an instance of a logger object.
37
38 @return: reference to a logger.
39 @rtype: C{object}
40 """
41 global _logger
42
43 if _logger is None:
44 _logger = logging.getLogger('Halberd')
45 handler = logging.StreamHandler(sys.stdout)
46 handler.setFormatter(logging.Formatter(_logfmt))
47 _logger.addHandler(handler)
48 _logger.setLevel(logging.INFO)
49
50 return _logger
51
53 """Set the logging level to C{debug}.
54 """
55 logger = getLogger()
56 logger.setLevel(logging.DEBUG)
57
59 """Set the logging level to C{error}.
60 """
61 logger = getLogger()
62 logger.setLevel(logging.ERROR)
63
64
65
66