Looks like if I have a logger handler with propagate = False and it is disabled, the "propagate" is still in affect. I am considering this is a bug, because: 1. I have some random logging configuration with some logging handlers that have "propagate = True" 2. I am setting a new logging configuration by using logging.config.dictConfig with "disable_existing_loggers = True" 3. After that I still "feel" the effect of old config, because some log messages do not reach my new loggers. What I am doing wrong? Or this is a bug? A bug in documentation?
> 1. I have some random logging configuration with some logging handlers that have "propagate = True" Read as: 1. I have some random logging configuration with some logging handlers that have "propagate = False"
Note that "handlers" cannot be disabled. This applies only to loggers. Also, the following code shows that disabling the logger does indeed prevents all logs in emitted by that logger from appearing: ``` import logging parent_handler = logging.StreamHandler() child_handler = logging.StreamHandler() parent_logger = logging.getLogger('parent') child_logger = logging.getLogger('parent.child') parent_logger.addHandler(parent_handler) child_logger.addHandler(child_handler) child_logger.disabled = True child_logger.error("wops") ``` Trying to guess what happened, it might be that there was a child of the disabled logged and you saw the log trace expecting it was the child, example: ``` import logging parent_handler = logging.StreamHandler() child_handler = logging.StreamHandler() parent_logger = logging.getLogger('parent') child_logger = logging.getLogger('parent.child') grandchild_logger = logging.getLogger('parent.child.grandchild') parent_logger.addHandler(parent_handler) child_logger.addHandler(child_handler) child_logger.disabled = True grandchild_logger.error("wops") ``` Note that disable does not affect how handlers across loggers are called. It only disables the logger and therefore prevents from emitting logs that are emitted directly through the disabled logger. Might that be the case? Are you OK with closing this issue if so?