about summary refs log tree commit diff
path: root/gn3/loggers.py
diff options
context:
space:
mode:
Diffstat (limited to 'gn3/loggers.py')
-rw-r--r--gn3/loggers.py24
1 files changed, 20 insertions, 4 deletions
diff --git a/gn3/loggers.py b/gn3/loggers.py
index 311ea58..df213fa 100644
--- a/gn3/loggers.py
+++ b/gn3/loggers.py
@@ -1,4 +1,5 @@
 """Setup loggers"""
+import os
 import sys
 import logging
 from logging import StreamHandler
@@ -17,12 +18,27 @@ def setup_modules_logging(level, modules):
         _logger.setLevel(level)
 
 
-def setup_app_handlers(app):
-    """Setup the logging handlers for the application `app`."""
-    # ========== Setup handlers ==========
+def __add_default_handlers__(app):
+    """Add some default handlers, if running in dev environment."""
     stderr_handler = StreamHandler(stream=sys.stderr)
     app.logger.addHandler(stderr_handler)
-    # ========== END: Setup handlers ==========
     root_logger = logging.getLogger()
     root_logger.addHandler(stderr_handler)
     root_logger.setLevel(loglevel(app))
+
+
+def __add_gunicorn_handlers__(app):
+    """Set up logging for the WSGI environment with GUnicorn"""
+    logger = logging.getLogger("gunicorn.error")
+    app.logger.handlers = logger.handlers
+    app.logger.setLevel(logger.level)
+    return app
+
+
+def setup_app_logging(app):
+    """Setup the logging handlers for the application `app`."""
+    software, *_version_and_comments = os.environ.get(
+        "SERVER_SOFTWARE", "").split('/')
+    return (__add_gunicorn_handlers__(app)
+            if bool(software)
+            else __add_default_handlers__(app))