ó
æ”\c           @   sM   d  d l  Z d  d l Z d  d l Z e j j ƒ  Z d e f d „  ƒ  YZ d S(   iÿÿÿÿNt   TunedExceptionc           B   s#   e  Z d  Z d d „ Z d „  Z RS(   s   
	c         C   s9   | d  k r t } n  | j t |  ƒ ƒ |  j | ƒ d  S(   N(   t   Nonet   exception_loggert   errort   strt
   _log_trace(   t   selft   logger(    (    s4   /usr/lib/python2.7/site-packages/tuned/exceptions.pyt   log   s    	c         C   sf   t  j ƒ  \ } } } | |  k r1 | j d ƒ n1 d j t j | | | ƒ ƒ j ƒ  } | j | ƒ d  S(   Ns"   stack trace is no longer availablet    (   t   syst   exc_infot   debugt   joint	   tracebackt   format_exceptiont   rstrip(   R   R   t   exc_typet	   exc_valuet   exc_tracebackt   exception_info(    (    s4   /usr/lib/python2.7/site-packages/tuned/exceptions.pyR      s
    $N(   t   __name__t
   __module__t   __doc__R   R   R   (    (    (    s4   /usr/lib/python2.7/site-packages/tuned/exceptions.pyR       s   (	   t
   tuned.logst   tunedR
   R   t   logst   getR   t	   ExceptionR    (    (    (    s4   /usr/lib/python2.7/site-packages/tuned/exceptions.pyt   <module>   s   