getsentry / getsentry/sentry-python

Capture Loguru template

Offen
#5,106 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Feature Integration: Loguru Logs Python
Vorherrschende Sprache
Python
Sterne
2.2k
Forks
669
Ø Merge
1 T. 1 Std.
Gemergte PRs (30 T.)
213

Beschreibung

### Problem Statement

We currently don't have access to the raw message before formatting in Loguru logs so we can't add it as `sentry.message.template`.

### Solution Brainstorm

1. The most feasible way forward is getting the template from Loguru directly. Submitted a PR for that [https://github.com/Delgan/loguru/pull/1413](https://github.com/Delgan/loguru/pull/1413). This issue is mostly for internal tracking purposes and extra context.
2. The other solution would be monkeypatching the [`_log` method](https://github.com/Delgan/loguru/blob/66d6de168ba6c286a46822f3acdcdbf0225bbad0/loguru/\_logger.py#L2028) that takes care of creating the record. This would enable us to get the raw message since the method gets it as an argument. However, we don't have a way to get the formatted message afterwards: all processing happens directly in the `_log` function and nothing is returned; instead, the records are sent to the sinks directly. We could find a way to associate a raw message we've seen in the monkeypatched `_log` method with the message we receive in our sink, but that'd mean introducing some kind of book-keeping structure which I'd like to avoid. (And since Loguru's maintainer said they'd be fine with 1, we're not doing this unless anything changes.)

Beitragsleitfaden

Beitragsleitfaden öffnen

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.