Merge pull request #1147 from DavidMStraub/inspect_stack
This commit is contained in:
commit
de866a7edc
@ -157,15 +157,16 @@ def wrapper(method):
|
||||
This 'wrapped' method logs the original function that was called, and
|
||||
where it was called from.
|
||||
"""
|
||||
class_name = args[0].__class__.__name__
|
||||
func_name = method.__name__
|
||||
frame = inspect.currentframe()
|
||||
c_frame = frame.f_back
|
||||
c_code = c_frame.f_code
|
||||
LOG.debug('calling %s.%s()... from file %s, line %s in %s',
|
||||
class_name, func_name, c_code.co_filename, c_frame.f_lineno,
|
||||
c_code.co_name)
|
||||
return method(*args, **keywargs)
|
||||
if __debug__ and LOG.isEnabledFor(logging.DEBUG):
|
||||
class_name = args[0].__class__.__name__
|
||||
func_name = method.__name__
|
||||
frame = inspect.currentframe()
|
||||
c_frame = frame.f_back
|
||||
c_code = c_frame.f_code
|
||||
LOG.debug('calling %s.%s()... from file %s, line %s in %s',
|
||||
class_name, func_name, c_code.co_filename,
|
||||
c_frame.f_lineno, c_code.co_name)
|
||||
return method(*args, **keywargs)
|
||||
return wrapped
|
||||
|
||||
|
||||
|
@ -77,7 +77,7 @@ class DbTxn(defaultdict):
|
||||
self.db.transaction_abort(self)
|
||||
|
||||
elapsed_time = time.time() - self.start_time
|
||||
if __debug__:
|
||||
if __debug__ and _LOG.isEnabledFor(logging.DEBUG):
|
||||
frame = inspect.currentframe()
|
||||
c_frame = frame.f_back
|
||||
c_code = c_frame.f_code
|
||||
@ -122,7 +122,7 @@ class DbTxn(defaultdict):
|
||||
"""
|
||||
|
||||
# Conditional on __debug__ because all that frame stuff may be slow
|
||||
if __debug__:
|
||||
if __debug__ and _LOG.isEnabledFor(logging.DEBUG):
|
||||
caller_frame = inspect.stack()[1]
|
||||
# If the call comes from gramps.gen.db.generic.DbGenericTxn.__init__
|
||||
# then it is just a dummy redirect, so we need to go back another
|
||||
|
@ -71,15 +71,15 @@ def make_database(plugin_id):
|
||||
if mod:
|
||||
database = getattr(mod, pdata.databaseclass)
|
||||
db = database()
|
||||
import inspect
|
||||
frame = inspect.currentframe()
|
||||
c_frame = frame.f_back
|
||||
c_code = c_frame.f_code
|
||||
_LOG.debug("Database class instance created Class:%s instance:%s. "
|
||||
"Called from File %s, line %s, in %s",
|
||||
db.__class__.__name__, hex(id(db)), c_code.co_filename,
|
||||
c_frame.f_lineno, c_code.co_name)
|
||||
|
||||
if __debug__ and _LOG.isEnabledFor(logging.DEBUG):
|
||||
import inspect
|
||||
frame = inspect.currentframe()
|
||||
c_frame = frame.f_back
|
||||
c_code = c_frame.f_code
|
||||
_LOG.debug("Database class instance created Class:%s instance:%s. "
|
||||
"Called from File %s, line %s, in %s",
|
||||
db.__class__.__name__, hex(id(db)), c_code.co_filename,
|
||||
c_frame.f_lineno, c_code.co_name)
|
||||
return db
|
||||
else:
|
||||
raise Exception("can't load database backend: '%s'" % plugin_id)
|
||||
|
@ -85,14 +85,15 @@ class DbState(Callback):
|
||||
This replaces tests on DbState.open, DbState.db, DbState.db.is_open()
|
||||
and DbState.db.db_is_open all of which are deprecated.
|
||||
"""
|
||||
class_name = self.__class__.__name__
|
||||
func_name = "is_open"
|
||||
frame = inspect.currentframe()
|
||||
c_frame = frame.f_back
|
||||
c_code = c_frame.f_code
|
||||
_LOG.debug('calling %s.%s()... from file %s, line %s in %s',
|
||||
class_name, func_name, c_code.co_filename, c_frame.f_lineno,
|
||||
c_code.co_name)
|
||||
if __debug__ and _LOG.isEnabledFor(logging.DEBUG):
|
||||
class_name = self.__class__.__name__
|
||||
func_name = "is_open"
|
||||
frame = inspect.currentframe()
|
||||
c_frame = frame.f_back
|
||||
c_code = c_frame.f_code
|
||||
_LOG.debug('calling %s.%s()... from file %s, line %s in %s',
|
||||
class_name, func_name, c_code.co_filename,
|
||||
c_frame.f_lineno, c_code.co_name)
|
||||
return (self.db is not None) and self.db.is_open()
|
||||
|
||||
def change_database(self, database):
|
||||
|
Loading…
Reference in New Issue
Block a user