Desidero configurare un registratore di Sentry per un progetto Django. Definirò un gestore sentry
e inserirò il gestore nel logger principale con il livello error
.Registratore di root in dictconfig
Secondo la documentazione del modulo logging
, c'è uno speciale root
chiave:
root
- questa sarà la configurazione per il logger principale. L'elaborazione della configurazione sarà come per qualsiasi registratore, tranne per il fatto che l'impostazionepropagate
non sarà applicabile.
Allo stesso tempo in luoghi other un logger con nome ''
viene utilizzato per contenere configurazione per il logger principale.
Ha lo stesso effetto? Cosa è preferibile?
>>> import logging
>>> logging.getLogger('') is logging.root
True
>>>
Questo * non * sembra essere corretto quando si definisce la configurazione di registrazione con l'attributo [settings.LOGGING] (https://docs.djangoproject.com/en/dev/topics/logging/#configuring-logging) in Django 1.7! Mi collego ad un logger nominato nel mio modulo views e il record del log viene catturato se ho definito un logger chiamato '''' nel mio 'LOGGING', ma * non * se lo chiamo' 'root''. Sfortunatamente, la documentazione di Django non fornisce alcuna indicazione su come gestire il root logger. –
@hheimbuerger Non è una radice con nome nel registro, è parallela a quella dei taglialegna. Vedi https://docs.python.org/2/library/logging.config.html#dictionary-schema-details per ulteriori informazioni. –