base for tuned exceptions
This commit is contained in:
parent
0da8031f79
commit
6a68d92873
1 changed files with 21 additions and 0 deletions
21
tuned/exceptions.py
Normal file
21
tuned/exceptions.py
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
import tuned.logs
|
||||
import sys
|
||||
import traceback
|
||||
|
||||
class TunedException(Exception):
|
||||
"""
|
||||
"""
|
||||
|
||||
def log(self, logger = None):
|
||||
if logger is None:
|
||||
logger = tuned.logs.get()
|
||||
logger.error(str(self))
|
||||
self._log_trace(logger)
|
||||
|
||||
def _log_trace(self, logger):
|
||||
(exc_type, exc_value, exc_traceback) = sys.exc_info()
|
||||
if exc_value != self:
|
||||
logger.debug("stack trace is no longer available")
|
||||
else:
|
||||
exception_info = "".join(traceback.format_exception(exc_type, exc_value, exc_traceback)).rstrip()
|
||||
logger.debug(exception_info)
|
||||
Loading…
Reference in a new issue