<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Qualcosa del genere:<div class=""><div class="">  import logging</div><div class=""><br class=""></div><div class="">  # nella parte che inizializza l'applicazione</div><div class="">  logging.basicConfig(level=logging.INFO)</div><div class=""><br class=""></div><div class="">  class H(logging.Handler):</div><div class="">      def emit(self, record):</div><div class="">          print(dict((n, getattr(record, n)) for n in dir(record) if not n.startswith('_')))</div><div class=""><br class=""></div><div class="">  log = logging.getLogger()</div><div class="">  log.handlers.append(H())</div><div class=""><br class=""></div><div class=""><br class=""></div><div class="">  # il tuo script</div><div class=""> ... logger.warn(qualcosa=valore, qualcosaltro=altrovalore, error=eccezione)</div><div class=""><br class=""></div><div>rimpiazza <span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class="">log.handlers.append(H()) con </span><font color="#000000" class=""><span style="caret-color: rgb(0, 0, 0);" class="">log.handlers = [H()] se vuoi rimuovere completamente l’output di default</span></font></div><div><br class=""></div><div><br class=""><blockquote type="cite" class=""><div class="">On 2 Nov 2020, at 05:53, Federico Fissore <<a href="mailto:federico@fsfe.org" class="">federico@fsfe.org</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class="">Ciao a tutti<br class=""><br class="">Sono alla ricerca di una libreria per loggare in modo strutturato, usando JSON<br class=""><br class="">Ho provato diverse librerie, ma nessuna mi soddisfa a pieno: richiedono codice di set up complessi, o non sono configurabili, o non sanno loggare le eccezioni<br class=""><br class="">Idealmente, quello che vorrei è scrivere codice tipo questo<br class=""><br class="">logger = ...<br class=""><br class="">logger.warn(qualcosa=valore, qualcosaltro=altrovalore, error=eccezione)<br class=""><br class="">e l'output dovrebbe essere qualcosa tipo<br class="">{<br class="">"severity": "WARNING",<br class="">"qualcosa": "valore",<br class="">"qualcosaltro": "altrovalore",<br class="">"error": "traceback formattato con \n e \t alla bisogna"<br class="">}<br class=""><br class="">Usate il logging strutturato? Cosa usate?<br class=""><br class="">ciao<br class=""><br class="">federico<br class="">_______________________________________________<br class="">Python mailing list<br class=""><a href="mailto:Python@lists.python.it" class="">Python@lists.python.it</a><br class="">https://lists.python.it/mailman/listinfo/python<br class=""></div></div></blockquote></div><br class=""></div></body></html>