Cookbook

Filtering Records Based on Extra Info

# This code demonstrates the usage of the `extra` argument for log records to enable advanced filtering of records through handlers

import logbook

if __name__ == "__main__":

    only_interesting = logbook.FileHandler('/tmp/interesting.log', filter=lambda r, h: r.extra['interesting'])
    everything = logbook.FileHandler('/tmp/all.log', bubble=True)

    with only_interesting, everything:
        logbook.info('this is interesting', extra={'interesting': True})
        logbook.info('this is not interesting')