sto ispezionare il logging.Logger.manager.loggerDict facendo:Qual è celery.utils.log.ProcessAwareLoggerobject facendo in logging.Logger.manager.loggerDict
import logging
logging.Logger.manager.loggerDict
e la dict è la seguente:
{
'nose.case': <celery.utils.log.ProcessAwareLoggerobjectat0x112c8dcd0>,
'apps.friends': <logging.PlaceHolderobjectat0x1147720d0>,
'oauthlib.oauth2.rfc6749.grant_types.client_credentials': <celery.utils.log.ProcessAwareLoggerobjectat0x115c48710>,
'apps.adapter.views': <celery.utils.log.ProcessAwareLoggerobjectat0x116a847d0>,
'apps.accounts.views': <celery.utils.log.ProcessAwareLoggerobjectat0x116976990>,
}
There are more but I truncated it
Le mie domande sono:
- Come mai il sedano è coinvolto in registrazione di varie altre applicazioni non sedano? È perché il logging è fatto in modo asincrono e in qualche modo il logging rileva la presenza di sedano e lo usa?
- Per due dei miei file che stanno registrando utilizzando
logger = logging.getLogger(__name__)
, vedo uno è PlaceHolderObject e altri due è oggetto celery.utils.log.ProcessAwareLogger, anche se questi ultimi due sono chiamati nelle viste e non nei processi di sedano. Come ha fatto diventa in questo modo poi
Grazie
Sono stato confuso su ProcessAwareLogger per un tempo molto lungo e grazie per la spiegazione. – dalang