Logging ancestors ignored if config changes?
andrew cooke
andrew at acooke.org
Fri Apr 25 23:02:21 EDT 2008
Hi,
I am seeing some odd behaviour with logging which would be explained
if loggers that are not defined explicitly (but which are controlled
via their ancestors) must be created after the logging system is
configured via fileConfig().
That's a bit abstract, so here's the problem itself: I define my log
within a module by doing
import logging
log = logging.getLogger(__name__)
Now typically __name__ will be something like "acooke.utils.foo".
That happens before the application configures logging, which it does
by calling logging.config.fileConfig() to load a configuration.
If I do that, then I don't see any logging output from
"acooke.utils.foo" (when using "log" from above after "fileConfig" has
been called) unless I explicitly define a logger with that name.
Neither root nor an "acooke" logger, defined in the config file, are
called.
Is this a bug? Am I doing something stupid? To me the above seems
like a natural way of using the system...
Thanks,
Andrew
More information about the Python-list
mailing list