From 53e15eae15bc77cb65ea306946b6b0946ae6d513 Mon Sep 17 00:00:00 2001 From: Michael Kropat Date: Sat, 21 Jun 2014 23:25:35 +0000 Subject: [PATCH] Tell Flask to log to syslog - Writes Flask warnings and errors to `/var/log/syslog` - Helps to debug issues when running in production --- management/daemon.py | 4 ++++ management/utils.py | 6 ++++++ 2 files changed, 10 insertions(+) diff --git a/management/daemon.py b/management/daemon.py index 9d652dcd..762076e1 100755 --- a/management/daemon.py +++ b/management/daemon.py @@ -97,4 +97,8 @@ def do_updates(): if __name__ == '__main__': if "DEBUG" in os.environ: app.debug = True + + if not app.debug: + app.logger.addHandler(utils.create_syslog_handler()) + app.run(port=10222) diff --git a/management/utils.py b/management/utils.py index c3c34533..bc3af8b5 100644 --- a/management/utils.py +++ b/management/utils.py @@ -95,3 +95,9 @@ def shell(method, cmd_args, env={}, capture_stderr=False, return_bytes=False): ret = getattr(subprocess, method)(cmd_args, env=env, stderr=stderr) if not return_bytes and isinstance(ret, bytes): ret = ret.decode("utf8") return ret + +def create_syslog_handler(): + import logging.handlers + handler = logging.handlers.SysLogHandler(address='/dev/log') + handler.setLevel(logging.WARNING) + return handler