getsentry / getsentry/sentry-python

Allow inclusion of _IGNORED_LOGGERS in breadcrumbs in LoggingIntegration

Aberta
#1,247 6 comentários 0 reações 0 responsáveis Ver no GitHub
Feature Integration: Logging Logs Python
Linguagem predominante
Python
Estrelas
2.2k
Forks
669
Merge médio
1d 40min
PRs com merge (30d)
212

Descrição

I am trying to investigate some http connection pooling issues when making a lot of http requests.

I'm getting a lovely sentry report on the failures, but with 'Pool is closed' errors I **really** want to see DEBUG logs from urllib3 in my breadcrumbs.

So, I tried setting up `LoggingIntegration(level=logging.DEBUG)` and `logging.getLogger("urllib3").setLevel(logging.DEBUG)`

But I see nothing.

And, then I see [_IGNORED_LOGGERS](https://github.com/getsentry/sentry-python/blob/ed4ba68cad42ebfbab162b37bf7edad25ebeae55/sentry_sdk/integrations/logging.py#L34) in that LogginIntegration and the reasons why:
* https://github.com/getsentry/sentry-python/issues/788
* https://github.com/getsentry/sentry-python/issues/655

Which are great reasons. But, do those reasons really apply to breadcrumbs?

I appreciate how an error in sending a sentry event over urllib3 is going to create another event, ad infinitum. But (especially with `MAX_BREADCRUMBS` as some protection) is it safe to have `_IGNORED_LOGGERS` apply to `_handler` but not apply to `_breadcrumb_handler` ?

In fact, if there was any urllib3 logging output on the attempt to send the issue, those breadcrumbs would be added to the event that won't be fired because _handler is still adhering to IGNORED_LOGGERS

Guia de contribuição

Abrir o guia de contribuição

Direção de pesquisa

Read sentry_sdk/integrations/logging.py, focusing on LoggingIntegration, _IGNORED_LOGGERS, _handler, and _breadcrumb_handler. Trace how urllib3 records are handled during event transport and inspect the relevant integration tests. Done means breadcrumb collection can include ignored logger records without causing recursive Sentry events.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
python
Domínio
observability
Tipo de issue
Funcionalidade
Dificuldade
4/5
Tempo estimado
3-5 dias
Status de atividade
Pouca atividade
Clareza
Razoavelmente clara
Facilidade para iniciantes
58/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.