]>
Commit | Line | Data |
---|---|---|
53e6db90 DC |
1 | """ |
2 | A simple log mechanism styled after PEP 282. | |
3 | ||
4 | Retained for compatibility and should not be used. | |
5 | """ | |
6 | ||
7 | import logging | |
8 | import warnings | |
9 | ||
10 | from ._log import log as _global_log | |
11 | ||
12 | ||
13 | DEBUG = logging.DEBUG | |
14 | INFO = logging.INFO | |
15 | WARN = logging.WARN | |
16 | ERROR = logging.ERROR | |
17 | FATAL = logging.FATAL | |
18 | ||
19 | log = _global_log.log | |
20 | debug = _global_log.debug | |
21 | info = _global_log.info | |
22 | warn = _global_log.warning | |
23 | error = _global_log.error | |
24 | fatal = _global_log.fatal | |
25 | ||
26 | ||
27 | def set_threshold(level): | |
28 | orig = _global_log.level | |
29 | _global_log.setLevel(level) | |
30 | return orig | |
31 | ||
32 | ||
33 | def set_verbosity(v): | |
34 | if v <= 0: | |
35 | set_threshold(logging.WARN) | |
36 | elif v == 1: | |
37 | set_threshold(logging.INFO) | |
38 | elif v >= 2: | |
39 | set_threshold(logging.DEBUG) | |
40 | ||
41 | ||
42 | class Log(logging.Logger): | |
43 | """distutils.log.Log is deprecated, please use an alternative from `logging`.""" | |
44 | ||
45 | def __init__(self, threshold=WARN): | |
46 | warnings.warn(Log.__doc__) # avoid DeprecationWarning to ensure warn is shown | |
47 | super().__init__(__name__, level=threshold) | |
48 | ||
49 | @property | |
50 | def threshold(self): | |
51 | return self.level | |
52 | ||
53 | @threshold.setter | |
54 | def threshold(self, level): | |
55 | self.setLevel(level) | |
56 | ||
57 | warn = logging.Logger.warning |