On Fri, 28 Dec 2012 16:41:20 -0800, andrew cooke wrote: > similarly, if i run the following, i see only "done": > > from logging import DEBUG, root, getLogger > > if __name__ == '__main__': > root.setLevel(DEBUG) > getLogger(__name__).debug("hello world") > print('done')
In Python 2.7, the above prints: py> from logging import DEBUG, root, getLogger py> root.setLevel(DEBUG) py> getLogger(__name__).debug("hello world"); print("done") No handlers could be found for logger "__main__" done In Python 3.2 and 3.3, the message about no handlers is not printed, which is an interesting difference. (Somebody who knows more about the logging package than I do might be able to state why that difference.) So it would help if you told us what version of Python you're running. This works as expected: py> lg = getLogger(__name__) py> lg.level = logging.DEBUG py> lg.debug("hello world"); print("done") DEBUG:__main__:hello world done since the default logging level is WARNING, as the tutorial explains: [quote] The default level is WARNING, which means that only events of this level and above will be tracked, unless the logging package is configured to do otherwise. [end quote] http://docs.python.org/dev/howto/logging.html -- Steven -- http://mail.python.org/mailman/listinfo/python-list