Re issue (1): https://github.com/django/django/blob/main/django/utils/log.py#L31 shows how Django uses its own JSON format in `settings.py` to set a link to its (local) own custom class `ServerFormatter`, which in turn inherits from Python's logging.Formatter. So it should be possible to create your own formatter class and reference it in the same kind of way.
(As an aside: you can do really interesting things with a customer formatter e.g. see https://alexandra-zaharia.github.io/posts/make-your-own-custom-color-formatter-with-python-logging/) I don't understand what you're trying to achieve in (2), so cannot comment. On Sunday, 10 April 2022 at 18:53:31 UTC+2 ad...@khaleesi.ninja wrote: > Hi all, > > I'm trying to extend the formatter for console logging with custom keys. > But I've run into two problems while doing that: > > 1) Root log messages of course don't provide these custom keys in their > extra dict, so they throw errors. Looking at the official Python > documentation, it is possible to specify defaults for a formatter ( > https://docs.python.org/3/library/logging.html#logging.Formatter), but > Django doesn't support such a thing when trying to set it via the > settings.py (as in: the formatters entry in the LOGGING specification in > the settings.py doesn't support this). > > 2) So I looked into using that formatter only for my own log messages, for > which I can control the extra dict passed to them. But it doesn't seem to > be possible to provide two formatters for a single handler (kinda makes > sense, since at that point, how would the handler choose the formatter?) > But if I specify two different handlers of type logging.StreamHandler, > only one of them seems to work (and the other handler's messages just > aren't visible in the console output). > > Does anyone have a solution for this? > > If not, do people think it's worth requesting support for the defaults > field for formatters specified in the settings.py LOGGING configuration? > > Thanks! > -M > -- You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/6e963a05-354e-4320-83a9-b57e2a308527n%40googlegroups.com.