Используйте pprint.pformat чтобы получить строку, а затем отправьте ее в свою среду ведения журналов.
from pprint import pformat
ds = [{'hello': 'there'}]
logging.debug(pformat(ds))
Ответ 2
Решение выше не совсем разрешило его для меня, потому что я также использую форматтер для добавления имени и имени уровня при регистрации. Это выглядит немного неопрятным:
__main__ : DEBUG : ['aaaaaaaaaaaaaaaaaaaa',
'bbbbbbbbbbbbbbbbbbbb',
'cccccccccccccccccccc',
'dddddddddddddddddddd']
__main__ : DEBUG : Some other logging text
Может быть более элегантное решение, но это:
for line in pprint.pformat(ds).split('\n'):
logging.debug(line)
создает что-то немного приятнее:
__main__ : DEBUG : ['aaaaaaaaaaaaaaaaaaaa',
__main__ : DEBUG : 'bbbbbbbbbbbbbbbbbbbb',
__main__ : DEBUG : 'cccccccccccccccccccc',
__main__ : DEBUG : 'dddddddddddddddddddd']
__main__ : DEBUG : Some other logging text