I understand that the root logger has the lastResort handler that prints to the console if the root logger handler is not configured using logging.basicConfig and the user makes use of the logging.info/debug/warning/error/critical("some msg")
Or logger = logging.gerLogger() followed by logger.info/debug/warning/error/critical("some msg")
But for a child logger created using logger = logging.getLogger("someName"), when we write logger.info/debug/warning/error/critical("some msg"), and there is no handler configured, and when propagate = true, then does the child logger have any default handler? Or does it fall back to ancestor's handler, and then to root logger's handler and if ancestors/root logger have no handler then to the root logger lastResort handler?
If propagate was set to false, then would there be some default handler assigned to child logger?