Using the Python logger I have two handlers, one used for root and one for everything else. When I set logging as 'main', I can see no handler is set in the logger.handler variable. It instead uses the root handler of syslog.
Below is a copy of the code and Configuration in use.
Code:
def load_config(self):
logging.config.fileConfig('/etc/msdb/integration/logging.conf')
log = logging.getLogger('main')
log.debug("Hello")
Config:
[loggers]
keys=root,props,main,thread,rabbit,blockchain
[handlers]
keys=file,syslog
[formatters]
keys=simple
[logger_root]
level=DEBUG
handlers=syslog
[logger_props]
level=DEBUG
handlers=file
qualname=Properties
propagate=0
[logger_main]
level=DEBUG
handlers=file
qualname=Main
propagate=0
[logger_thread]
level=DEBUG
handlers=file
qualname=Thread
propagate=0
[logger_rabbit]
level=DEBUG
handlers=file
qualname=RabbitMQ
propagate=0
[logger_blockchain]
level=DEBUG
handlers=file
qualname=BigChainDB
propagate=0
[handler_file]
class=logging.handlers.RotatingFileHandler
level=NOTSET
formatter=simple
args=('/var/log/msdb/msdb.intergration.log','a', 100000, 1, 'utf8')
[handler_syslog]
class=StreamHandler
level=DEBUG
formatter=simple
args=(sys.stdout,)
[formatter_simple]
format=%(asctime)s - %(levelname)%s - %(threadName)%s - %(filename)s:%(lineno)d - %(message)s
datefmt=