adding translations and transifex third party tool
[pub/Android/ownCloud.git] / third_party / transifex-client / txclib / log.py
diff --git a/third_party/transifex-client/txclib/log.py b/third_party/transifex-client/txclib/log.py
new file mode 100644 (file)
index 0000000..9baf322
--- /dev/null
@@ -0,0 +1,37 @@
+# -*- coding: utf-8 -*-
+
+"""
+Add logging capabilities to tx-client.
+"""
+
+import sys
+import logging
+
+_logger = logging.getLogger('txclib')
+_logger.setLevel(logging.INFO)
+
+_formatter = logging.Formatter('%(message)s')
+
+_error_handler = logging.StreamHandler(sys.stderr)
+_error_handler.setLevel(logging.ERROR)
+_error_handler.setFormatter(_formatter)
+_logger.addHandler(_error_handler)
+
+_msg_handler = logging.StreamHandler(sys.stdout)
+_msg_handler.setLevel(logging.DEBUG)
+_msg_handler.setFormatter(_formatter)
+_msg_filter = logging.Filter()
+_msg_filter.filter = lambda r: r.levelno < logging.ERROR
+_msg_handler.addFilter(_msg_filter)
+_logger.addHandler(_msg_handler)
+
+logger = _logger
+
+
+def set_log_level(level):
+    """Set the level for the logger.
+
+    Args:
+        level: A string among DEBUG, INFO, WARNING, ERROR, CRITICAL.
+    """
+    logger.setLevel(getattr(logging, level))