1 import logging
2 import sys
5 __default_root_log_level = logging.WARNING
6 __console_h = None
7 __file_h = None
8
9 @staticmethod
10 - def start(stream = sys.stderr, file_path = None,
11 logging_level = logging.WARNING,
12 format_ = '%(asctime)s %(levelname)s %(message)s'):
13 """@param stream: output stream where logs are written. If C{None},
14 logs are not written to any stream.
15 @param file_path: if it is not C{None}, logging messages are written
16 not only to the stream, but to the specified file as well.
17 @param logging_level: logging level accepted by logging devices"""
18
19
20
21
22 formatter = logging.Formatter(format_)
23
24 root_logger = logging.getLogger("")
25 root_logger.setLevel(logging_level)
26
27
28 if stream is not None:
29 Logger.__console_h = logging.StreamHandler(stream)
30 Logger.__console_h.setLevel(logging_level)
31 Logger.__console_h.setFormatter(formatter)
32 root_logger.addHandler(Logger.__console_h)
33 if file_path is not None:
34 Logger.__file_h = logging.FileHandler(file_path)
35 Logger.__file_h.setLevel(logging_level)
36 Logger.__file_h.setFormatter(formatter)
37 root_logger.addHandler(Logger.__file_h)
38
39 @staticmethod
50