问题
In my Python program, I import a module (let's say it's called bananas
). The module gets a logger inside its __init__.py
by doing this:
_logger = logging.getLogger(__name__)
. Thus, the logger's name is bananas
.
In my program (the one that imports the module bananas
), I also have this line: my_logger = logging.getLogger("bananas")
.
Does this:
- Overwrite
_logger
made inbananas
? - Fetch that logger, and thus
my_logger
now equals_logger
? - Something else entirely
Thank you for your help!
回答1:
It fetches the bananas
logger, so that my_logger
is the same object as bananas._logger
.
来源:https://stackoverflow.com/questions/56840220/python-can-you-accidentally-overwrite-a-logger-by-using-getlogger-with-the-same