Say I got a root logger with a StreamHandler and FileHandler added to it. Any of the child loggers will inherit the root logger. Is there any way I can amend the child logger so for e.g it saves messages in a different format then the one configured for the root logger.
[<logging.StreamHandler instance at 0x0884B850>, <logging.FileHandler instance at 0x0C7A84E0>
You can attach a new handler on a child logger, that has it's own formatter.
You should be able to create a handler that writes to the same file as the root handler, as the flush operation uses a lock.
handler = logging.FileHandler(filename)
formatter = logging.Formatter(newformat)
handler.setFormatter(formatter)
log = logging.getLogger(yourloggername)
log.addHandler(handler)
log.propagate = False # don't send messages to the root, handle it all here