On 09/11/2015 09:22 AM, Thomas Güttler wrote:
I want INFO to be logged and stored on the remote host. Therefore I must not filter INFO messages. I don't want to pull INFO messages over the VPN. Ergo, the filtering at Python level does not help in my use case. Or I am missing something.
Probably, Your logger should have * a remote host handler * and a VPN handler. You can set filters and log levels separately for each handler. More info here https://docs.python.org/2/library/logging.html#handler-objects https://docs.python.org/2/howto/logging-cookbook.html#logging-to-multiple-destinations Something like (python 2.7) import logging logCfg = { 'remote':( logging.StreamHandler(), logging.Formatter('Remote - %(levelname)s - %(message)s'), logging.INFO, ), 'vpn':( logging.StreamHandler(), logging.Formatter('VPN - %(levelname)s - %(message)s'), logging.ERROR, ), } log = logging.getLogger() log.setLevel(logging.DEBUG) for handler, formatter, level in logCfg.itervalues(): handler.setFormatter(formatter) handler.setLevel(level) log.addHandler(handler) log.info('This is an info') log.error('This is error') and the result: Remote - INFO - This is an info VPN - ERROR - This is error Remote - ERROR - This is error JM -- https://mail.python.org/mailman/listinfo/python-list