Hello Vinay, On Thu, May 25, 2006 at 10:14:00AM -0700, Vinay Sajip wrote: > I don't know what your logger hierarchy looks like: you could perhaps > log to child loggers of l01 ("l01.XXX"), or set all other loggers you > use to have a CRITICAL level, or filter them using a filter which > filters out everything.
Ok, here is my hierarchy: [formatters] keys=f01 [handlers] keys=console [loggers] keys=root,l01,l02 [formatter_f01] format=%(name)s: %(message)s [handler_console] class=StreamHandler args=[] formatter=f01 [logger_root] level=CRITICAL handlers=console [logger_l01] level=DEBUG qualname=l01 handlers=console [logger_l02] level=CRITICAL qualname=l02 handlers=console The program is: import logging import logging.config logging.config.fileConfig('a.conf') log1 = logging.getLogger('l01') log2 = logging.getLogger('l02') log1.debug('zzz') log2.debug('qqq') With the config above, I expect that zzz gets printed, and qqq doesn't. When I run the script, zzz is printed twice, and qqq isn't. I want that zzz is printed once. How do I do that? I can add a filter if this can't be done otherwise, however, I'm at the moment reluctant to do that since I don't see why CRITICAL for root passes zzz through and drops qqq correctly for l02. Thanks in advance, Baurzhan. -- http://mail.python.org/mailman/listinfo/python-list