New submission from andrew cooke <[EMAIL PROTECTED]>: 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. One way to handle this is to make creation of module-level Loggers lazy, and make sure that logging initialisation occurs before any other logging is actually used (which is not so hard - just init log at the start of the application). Of course, there's a performance hit... For example: class Log(object): def __init__(self, name): super(Log, self).__init__() self._name = name self._lazy = None def __getattr__(self, key): if not self._lazy: self._lazy = logging.getLogger(self._name) return getattr(self._lazy, key) and then, in some module: from acooke.util.log import Log log = Log(__name__) [...] class Foo(object): def my_method(self): log.debug("this works as expected") ---------- components: Library (Lib) messages: 65843 nosy: acooke severity: normal status: open title: Logging ancestors ignored after configuration type: behavior versions: Python 2.5 __________________________________ Tracker <[EMAIL PROTECTED]> <http://bugs.python.org/issue2697> __________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com