summaryrefslogtreecommitdiff
path: root/addons/hw_drivers/controllers/driver.py
diff options
context:
space:
mode:
authorAntoine Prieels <anp@odoo.com>2019-11-28 08:32:28 +0000
committerAntoine Prieels <anp@odoo.com>2019-11-28 08:32:28 +0000
commit2e34d456e80ec6f8aed35cf7864ba7ce17f62f5f (patch)
tree23720d7f41f306f1ffed003341bc94b36ec5079f /addons/hw_drivers/controllers/driver.py
parent738868a1db9544700c623787aec2f6e408f77b2b (diff)
[FIX] hw_drivers: Redirect exceptions to log file
Exceptions were logged to stderr so we couldn't see them when Odoo was running as a service on the IoT Box. We now redirect stderr to the logger to see track errors in the log file too. closes odoo/odoo#41028 Taskid: 2146835 X-original-commit: 54a1919cbc37f5832ce110605c29b222c7a5bfe9 Signed-off-by: Antoine Prieƫls <aprieels@users.noreply.github.com>
Diffstat (limited to 'addons/hw_drivers/controllers/driver.py')
-rwxr-xr-xaddons/hw_drivers/controllers/driver.py22
1 files changed, 22 insertions, 0 deletions
diff --git a/addons/hw_drivers/controllers/driver.py b/addons/hw_drivers/controllers/driver.py
index fc61c8ed63e..64fad0bdf50 100755
--- a/addons/hw_drivers/controllers/driver.py
+++ b/addons/hw_drivers/controllers/driver.py
@@ -10,6 +10,7 @@ from re import sub, finditer
import urllib3
import os
import socket
+import sys
from importlib import util
import v4l2
from fcntl import ioctl
@@ -98,6 +99,27 @@ class StatusController(http.Controller):
return f.read()
#----------------------------------------------------------
+# Log Exceptions
+#----------------------------------------------------------
+
+class ExceptionLogger:
+ """
+ Redirect Exceptions to the logger to keep track of them in the log file.
+ """
+
+ def __init__(self):
+ self.logger = logging.getLogger()
+
+ def write(self, message):
+ if message != '\n':
+ self.logger.err(message)
+
+ def flush(self):
+ pass
+
+sys.stderr = ExceptionLogger()
+
+#----------------------------------------------------------
# Drivers
#----------------------------------------------------------