'Based on the stack depth passed to this L{STDLibLogObserver}, identify
the calling function.
@param stackInfo: Whether or not to construct stack information.
(Currently ignored.)
@type stackInfo: L{bool}
@return: Depending on Python version, either a 3-tuple of (filename,
lineno, name) or a 4-tuple of that plus stack information.
@rtype: L{tuple}'

def _findCaller(self, stackInfo=False):

    f = currentframe(self.stackDepth)
    co = f.f_code
    if _PY3:
        extra = (None,)
    else:
        extra = ()
    return ((co.co_filename, f.f_lineno, co.co_name) + extra)
