Powiedzmy chcę zalogować się ten ciąg znaków formatowania:rejestracja danych django kontekst globalnie na żądanie?
%(levelname)s %(asctime)s %(module)s %(funcName)s %(message)s %(user_id)
można to zrobić za pomocą tego rodzaju polecenia rejestrowania:
logging.error('Error fetching information', extra = { 'user_id': 22 })
Spowoduje to dodanie aktualnego identyfikatora do rejestrowania komunikatów dla aktualne żądanie.
Ale dodatkowy dyktant musi zostać dodany do każdego połączenia rejestracyjnego.
Czy istnieje dobry sposób dodania tego kontekstu do wspólnej funkcji w django (np. Oprogramowanie pośrednie lub funkcja indeksu widoku), aby ustawić dodatkowy słownik z identyfikatorem użytkownika, a wszystkie dalsze połączenia rejestrowania w bieżącym Żądaj również zalogowania bieżącego użytkownika.
Dlaczego odpowiedź 'mawimawi' jest nie do zaakceptowania? Czy to z powodu użycia wątku lokalnego, czy też czegoś innego? –
Vinay Sajip, niektóre punkty rep umrą w spokoju. Tak to działa tutaj na stackoverflow. – mawimawi
@VinaySajip, tak, próbując uniknąć użycia wątku lokalnego i dodatkowego oprogramowania pośredniego. Jeśli jest jakiś sposób, rozszerzając klasę rejestrowania, byłoby świetnie. – DhruvPathak