[Python] Structured logging

2020-11-02 Per discussione Federico Fissore

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


Re: [Python] Structured logging

2020-11-02 Per discussione Antonio Cavallo
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  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