summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIlya Alekseyev <ialekseev@griddynamics.com>2011-02-01 09:44:15 +0000
committerTarmac <>2011-02-01 09:44:15 +0000
commit672fa32dd2c419bb6040c5e16cae83f5eccaf7c6 (patch)
tree26bfdc2465574ac3fd7077ff8b45c75bd4008023
parentad6300d279cfd87061ef4cef5f1a9e96aaac2f42 (diff)
parent5850b1505cbd9e63418d9edaf003d3bd426279a2 (diff)
downloadnova-672fa32dd2c419bb6040c5e16cae83f5eccaf7c6.tar.gz
nova-672fa32dd2c419bb6040c5e16cae83f5eccaf7c6.tar.xz
nova-672fa32dd2c419bb6040c5e16cae83f5eccaf7c6.zip
Changed default handler for uncaughted exceptions. It uses logging instead print to stderr.
-rw-r--r--nova/log.py7
1 files changed, 7 insertions, 0 deletions
diff --git a/nova/log.py b/nova/log.py
index e1c9f46f4..b541488bd 100644
--- a/nova/log.py
+++ b/nova/log.py
@@ -31,6 +31,7 @@ import cStringIO
import json
import logging
import logging.handlers
+import sys
import traceback
from nova import flags
@@ -191,6 +192,12 @@ class NovaLogger(logging.Logger):
kwargs.pop('exc_info')
self.error(message, **kwargs)
+
+def handle_exception(type, value, tb):
+ logging.root.critical(str(value), exc_info=(type, value, tb))
+
+
+sys.excepthook = handle_exception
logging.setLoggerClass(NovaLogger)