9baf3220b2a5ad272339f0caf192654314c60433
[pub/Android/ownCloud.git] / third_party / transifex-client / txclib / log.py
1 # -*- coding: utf-8 -*-
2
3 """
4 Add logging capabilities to tx-client.
5 """
6
7 import sys
8 import logging
9
10 _logger = logging.getLogger('txclib')
11 _logger.setLevel(logging.INFO)
12
13 _formatter = logging.Formatter('%(message)s')
14
15 _error_handler = logging.StreamHandler(sys.stderr)
16 _error_handler.setLevel(logging.ERROR)
17 _error_handler.setFormatter(_formatter)
18 _logger.addHandler(_error_handler)
19
20 _msg_handler = logging.StreamHandler(sys.stdout)
21 _msg_handler.setLevel(logging.DEBUG)
22 _msg_handler.setFormatter(_formatter)
23 _msg_filter = logging.Filter()
24 _msg_filter.filter = lambda r: r.levelno < logging.ERROR
25 _msg_handler.addFilter(_msg_filter)
26 _logger.addHandler(_msg_handler)
27
28 logger = _logger
29
30
31 def set_log_level(level):
32 """Set the level for the logger.
33
34 Args:
35 level: A string among DEBUG, INFO, WARNING, ERROR, CRITICAL.
36 """
37 logger.setLevel(getattr(logging, level))