#NEWLINE# def _log( self , level , msg , args , exc_info = None , extra = None , exc_info_on_loglevel = None ) : #NEWLINE# #INDENT# if ( exc_info and exc_info_on_loglevel ) : #NEWLINE# #INDENT# raise RuntimeError ( "Only one of 'exc_info' and 'exc_info_on_loglevel' is permitted" ) #NEWLINE# #UNINDENT# if ( exc_info_on_loglevel is not None ) : #NEWLINE# #INDENT# if isinstance ( exc_info_on_loglevel , six . string_types ) : #NEWLINE# #INDENT# exc_info_on_loglevel = LOG_LEVELS . get ( exc_info_on_loglevel , logging . ERROR ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# if ( not isinstance ( exc_info_on_loglevel , int ) ) : #NEWLINE# #INDENT# raise RuntimeError ( "The value of 'exc_info_on_loglevel' needs to be a logging level or a logging level name, not '{0}'" . format ( exc_info_on_loglevel ) ) #NEWLINE# #UNINDENT# #UNINDENT# #UNINDENT# if ( level is None ) : #NEWLINE# #INDENT# extra = { #NEWLINE# #INDENT# 'exc_info_on_loglevel' : exc_info_on_loglevel , #NEWLINE# #UNINDENT# } #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# extra [ 'exc_info_on_loglevel' ] = exc_info_on_loglevel #NEWLINE# #UNINDENT# LOGGING_LOGGER_CLASS . _log ( self , level , msg , args , exc_info = exc_info , extra = extra )