I thought we had added support such that "assert isinstance(logger, logging.Logger)" would update the analysis information, but apparently not.
With the current version, you can do this:
logger = logging.getLogger('snakeguice')
logger = logging.Logger()
which will add Logger as a possible type for logger, though you still may not see any completions until you disable "Member completion displays intersection of members" in Tools->Options->Text Editor->Python->Advanced (IMO this option
should be disabled by default...)
As for why we don't get the type right in the first place, I'm not entirely sure. We know the types returned from getLogger (there are four possibilities, so even if this did work properly it still may not be that helpful) but they aren't being attached
to getLogger itself. I'm already working on this area of our code, so I'll see if I can figure out what's going on.