[Python] Structured logging
Antonio Cavallo
a.cavallo a cavallinux.eu
Lun 2 Nov 2020 12:09:51 CET
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 <federico a 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 a lists.python.it
> https://lists.python.it/mailman/listinfo/python
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20201102/23c8f199/attachment.html>
Maggiori informazioni sulla lista
Python