summaryrefslogtreecommitdiff
path: root/qface/contrib/logging.py
diff options
context:
space:
mode:
authorJuergen Bocklage-Ryannel <jbocklage-ryannel@luxoft.com>2018-01-18 15:18:59 +0100
committerJuergen Bocklage-Ryannel <jbocklage-ryannel@luxoft.com>2018-01-18 15:18:59 +0100
commit9051fa6ba9293b8ec662d9f4d98e338a0d886f70 (patch)
treed4c229867fcd7721954747fb251685125cc780e1 /qface/contrib/logging.py
parent1b4441d5ec3d79cfd3a03a78066072f1ca991715 (diff)
parentd40d766b7273d85284cc052f1612f4ce5a834954 (diff)
downloadqtivi-qface-9051fa6ba9293b8ec662d9f4d98e338a0d886f70.tar.gz
Merge branch 'release/1.9'1.9
Diffstat (limited to 'qface/contrib/logging.py')
-rw-r--r--qface/contrib/logging.py28
1 files changed, 28 insertions, 0 deletions
diff --git a/qface/contrib/logging.py b/qface/contrib/logging.py
new file mode 100644
index 0000000..6b7625c
--- /dev/null
+++ b/qface/contrib/logging.py
@@ -0,0 +1,28 @@
+import yaml
+import logging
+import logging.config
+import coloredlogs
+from path import Path
+import os
+
+
+def basic_log(level):
+ logging.basicConfig(level=level)
+ coloredlogs.install(level=level)
+ print('Fall back to basic logging')
+
+
+def setup_log(path='logging.yaml', level=logging.INFO, env_key='QFACE_LOG_CFG'):
+ path = Path(os.getenv(env_key, path))
+ if path.exists():
+ try:
+ config = yaml.safe_load(path.text())
+ logging.config.dictConfig(config)
+ coloredlogs.install()
+ except Exception as e:
+ print(e)
+ print('Error in logging configuration. Fall back to defaults.')
+ basic_log(level)
+ else:
+ basic_log(level)
+ print('Failed to load logging config file.')