(self, name)
return rv
Get a logger with the specified name (channel name), creating it
        if it doesn't yet exist. This name is a dot-separated hierarchical
        name, such as "a", "a.b", "a.b.c" or similar.

        If a PlaceHolder existed for the specified name [i.e. the logger
        didn't exist but a child of it did], replace it with the created
        logger and fix up the parent/child references which pointed to the
        placeholder to now point to the logger.
Get a logger with the specified name (channel name), creating it
        if it doesn't yet exist. This name is a dot-separated hierarchical
        name, such as "a", "a.b", "a.b.c" or similar.
Get a logger with the specified name ( channel name ) creating it if it doesn t yet exist . This name is a dot - separated hierarchical name such as a a . b a . b . c or similar .
def getLogger(self, name):
        """
        Get a logger with the specified name (channel name), creating it
        if it doesn't yet exist. This name is a dot-separated hierarchical
        name, such as "a", "a.b", "a.b.c" or similar.

        If a PlaceHolder existed for the specified name [i.e. the logger
        didn't exist but a child of it did], replace it with the created
        logger and fix up the parent/child references which pointed to the
        placeholder to now point to the logger.
        """
        rv = None
        if not isinstance(name, str):
            raise TypeError('A logger name must be a string')
        _acquireLock()
        try:
            if name in self.loggerDict:
                rv = self.loggerDict[name]
                if isinstance(rv, PlaceHolder):
                    ph = rv
                    rv = (self.loggerClass or _loggerClass)(name)
                    rv.manager = self
                    self.loggerDict[name] = rv
                    self._fixupChildren(ph, rv)
                    self._fixupParents(rv)
            else:
                rv = (self.loggerClass or _loggerClass)(name)
                rv.manager = self
                self.loggerDict[name] = rv
                self._fixupParents(rv)
        finally:
            _releaseLock()
        return rv
def getLogger ( self , name ) : rv = None if not isinstance ( name , str ) : raise TypeError ( 'A logger name must be a string' ) _acquireLock ( ) try : if name in self . loggerDict : rv = self . loggerDict [ name ] if isinstance ( rv , PlaceHolder ) : ph = rv rv = ( self . loggerClass or _loggerClass ) ( name ) rv . manager = self self . loggerDict [ name ] = rv self . _fixupChildren ( ph , rv ) self . _fixupParents ( rv ) else : rv = ( self . loggerClass or _loggerClass ) ( name ) rv . manager = self self . loggerDict [ name ] = rv self . _fixupParents ( rv ) finally : _releaseLock ( ) return rv