python - guia - qgis manual
Use logging imprima la salida de pprint (2)
La solución anterior no me cortó porque también estoy usando un formateador para agregar nombre y nombre de nivel al iniciar sesión. Se ve un poco desordenado:
__main__ : DEBUG : [''aaaaaaaaaaaaaaaaaaaa'',
''bbbbbbbbbbbbbbbbbbbb'',
''cccccccccccccccccccc'',
''dddddddddddddddddddd'']
__main__ : DEBUG : Some other logging text
Puede haber una solución más elegante, pero esto:
for line in pprint.pformat(ds).split(''/n''):
logging.debug(line)
produce algo un poco mejor:
__main__ : DEBUG : [''aaaaaaaaaaaaaaaaaaaa'',
__main__ : DEBUG : ''bbbbbbbbbbbbbbbbbbbb'',
__main__ : DEBUG : ''cccccccccccccccccccc'',
__main__ : DEBUG : ''dddddddddddddddddddd'']
__main__ : DEBUG : Some other logging text
Quiero usar la salida de pprint para mostrar una estructura de datos compleja, pero me gustaría imprimirla usando el módulo de registro en lugar de stdout.
ds = [{''hello'': ''there''}]
logging.debug( pprint.pprint(ds) ) # outputs as STDOUT
Use pprint.pformat
para obtener una cadena y luego envíela a su marco de registro.
from pprint import pprint, pformat
ds = [{''hello'': ''there''}]
logging.debug(pformat(ds))