Opened 8 months ago

Last modified 8 months ago

#35357 closed New feature

Logger should be able to store extra arguments — at Version 1

Reported by: Alexander Nestorov Owned by: nobody
Component: Utilities Version:
Severity: Normal Keywords: logging, logger, extra
Cc: Alexander Nestorov Triage Stage: Unreviewed
Has patch: no Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no

Description (last modified by Alexander Nestorov)

I find myself quite often writing multiple logger.whatever() statements one after another just because I want to log multiple values.

logger.error("Foo failed. The bar object looked like")
logger.error(bar_object) # bar_object is a deep json-like object
logger.error(f"Retrying with {xyz} thing")

It would be nice if Django provided a way to log all values passed to extra, like this:

logger.error(f"Foo failed. The bar object looked like this. Retrying with {xyz} thing", extra={
    "bar_object": bar_object
})

I'm aware that I can create a custom logger inheriting from logging.Handler (or the several other ways this can be achieved), but IMHO this is such a basic feature that it should be included in Django itself.

Change History (1)

comment:1 by Alexander Nestorov, 8 months ago

Description: modified (diff)
Note: See TracTickets for help on using tickets.
Back to Top