Qualcosa del genere:
  import logging

  # nella parte che inizializza l'applicazione
  logging.basicConfig(level=logging.INFO)

  class H(logging.Handler):
      def emit(self, record):
          print(dict((n, getattr(record, n)) for n in dir(record) if not 
n.startswith('_')))

  log = logging.getLogger()
  log.handlers.append(H())


  # il tuo script
 ... logger.warn(qualcosa=valore, qualcosaltro=altrovalore, error=eccezione)

rimpiazza log.handlers.append(H()) con log.handlers = [H()] se vuoi rimuovere 
completamente l’output di default


> On 2 Nov 2020, at 05:53, Federico Fissore <feder...@fsfe.org> wrote:
> 
> Ciao a tutti
> 
> Sono alla ricerca di una libreria per loggare in modo strutturato, usando JSON
> 
> 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
> 
> Idealmente, quello che vorrei è scrivere codice tipo questo
> 
> logger = ...
> 
> logger.warn(qualcosa=valore, qualcosaltro=altrovalore, error=eccezione)
> 
> e l'output dovrebbe essere qualcosa tipo
> {
> "severity": "WARNING",
> "qualcosa": "valore",
> "qualcosaltro": "altrovalore",
> "error": "traceback formattato con \n e \t alla bisogna"
> }
> 
> Usate il logging strutturato? Cosa usate?
> 
> ciao
> 
> federico
> _______________________________________________
> Python mailing list
> Python@lists.python.it
> https://lists.python.it/mailman/listinfo/python

_______________________________________________
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python

Rispondere a