`LogRecord` should normalize falsy `exc_info` values
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 72/100
Direzione di ricerca
Inizia in Lib/logging/init.py, nel percorso di chiamata di logging citato nell’issue, dove exc_info viene normalizzato prima di makeRecord. Controlla i test di logging pertinenti e aggiungi test per valori falsy di exc_info, come False e None. Il lavoro è concluso quando i valori falsy arrivano a LogRecord come None e i test passano.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Bug report
Pointed out by @tjkuson in python/typeshed#16466
According to the documentation, the exc_info argument to the log() group of function can be any falsy value to indicate that no exception information is provided. It's common to use either None or False here.
When a truthy value is provided, it is normalized to an exception info tuple before passing it to LogRecord. A falsy value is passed on unchanged:
This contradicts LogRecords documentation, which says that only None is accepted and that the exc_info field can be a tuple or None. The mypy primer run in python/typeshed#16466 shows that a few projects make this assumption. For example, sphinx:
if record.exc_info is not None:
raise SphinxWarning(message) from record.exc_info[1]
Solution: Normalize falsy values to None before passing them to makeRecord.
CPython versions tested on:
CPython main branch
Operating systems tested on:
No response
Linked PRs
- gh-158840
- Lingua principale
- Python
- Stelle
- 77.6k
- Fork
- 37.6k
- Merge medio
- 1g 17h
- PR unite (30g)
- 604
Preparare l'ambiente
Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di python/cpython
-
Docs: problem with page "msvcrt — Useful routines from the MS VC runtime"Forse già presa @jikekei l’ha presa 4 giorni fa. Apertadocs
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
python/cpython#159072 · 6 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Document unpacking in generator expressions (PEP 798)Forse già presa @Marwan-verse l’ha presa 1 giorno fa. Apertadocs
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
python/cpython#159061 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
`http.client.HTTPSConnection._tunnel` raises `AttributeError: 'NoneType' object has no attribute 'encode'` when header value is `None`Forse di nuovo libera Una pull request per questa issue è stata chiusa senza essere unita. Aperta3.14 3.15 3.16 stdlib type-bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
python/cpython#159044 · 17 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
A minor problem with the section "6.10.2. Membership test operations" from the language reference.Forse già presa @Rakshana0205 l’ha presa 1 giorno fa. Apertadocs pending
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
python/cpython#159034 · 5 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Docs: socket.htons() and friends raise ValueError for negative input since 3.14Forse già presa @vetrovk l’ha presa 5 giorni fa. Apertadocs topic-socket
Difficoltà 1/5 1-3 ore Idoneità per principianti 78/100
python/cpython#159012 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di python/cpython
Issue simili
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
Deltares/imod-python#1940 ·
I maintainer di solito rispondono entro 1 giorno
-
effort: low prio: low ready
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 82/100
digitalfabrik/integreat-cms#4621 ·
I maintainer di solito rispondono entro 5 giorni
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
ioos/compliance-checker#1375 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
I maintainer di solito rispondono entro 1 giorno
-
netbox status: backlog topic: testing type: housekeeping
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
netbox-community/netbox#23395 ·
I maintainer di solito rispondono entro 1 giorno