Use logging print the output of pprint
Use pprint.pformat
to get a string, and then send it to your logging framework.
from pprint import pformatds = [{'hello': 'there'}]logging.debug(pformat(ds))
The solution above didn't quite cut it for me because I'm also using a formatter to add name and levelname when logging. It looks a little untidy:
__main__ : DEBUG : ['aaaaaaaaaaaaaaaaaaaa','bbbbbbbbbbbbbbbbbbbb','cccccccccccccccccccc','dddddddddddddddddddd']__main__ : DEBUG : Some other logging text
There may be a more elegant solution, but this:
for line in pprint.pformat(ds).split('\n'): logging.debug(line)
produces something a little nicer:
__main__ : DEBUG : ['aaaaaaaaaaaaaaaaaaaa',__main__ : DEBUG : 'bbbbbbbbbbbbbbbbbbbb',__main__ : DEBUG : 'cccccccccccccccccccc',__main__ : DEBUG : 'dddddddddddddddddddd']__main__ : DEBUG : Some other logging text