`LogRecord` should normalize falsy `exc_info` values
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
調査の方向性
Lib/logging/init.pyで、issueで挙げられているloggingの呼び出し経路を確認してください。ここではexc_infoがmakeRecordの前に正規化されます。関連するloggingのテストを確認し、FalseやNoneなどのfalsyなexc_info値をカバーするテストを追加してください。falsyな値がNoneとしてLogRecordに渡され、テストが成功すれば完了です。
索引モデルが issue の本文から書いたものです。
説明
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
- 主要言語
- Python
- スター
- 77.6k
- フォーク
- 37.6k
- 平均マージ
- 1日 16時間
- マージ済み PR(30日)
- 612
環境構築
このプロジェクトの開発コンテナを、あなたの GitHub アカウントでブラウザ上に起動します。
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
python/cpython のほかの issue
-
Docs: problem with page "msvcrt — Useful routines from the MS VC runtime"対応中かも @jikekei が 2 日前に担当しました。 オープンdocs
難易度 1/5 1時間未満 初心者へのやさしさ 85/100
python/cpython#159072 · コメント 6 件 ·
メンテナーはふだん 1 日以内に返信
-
Document unpacking in generator expressions (PEP 798)対応中かも @Marwan-verse が今日担当しました。 オープンdocs
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
python/cpython#159061 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
`http.client.HTTPSConnection._tunnel` raises `AttributeError: 'NoneType' object has no attribute 'encode'` when header value is `None`再び着手できるかも このイシューのプルリクエストはマージされずにクローズされました。 オープン3.14 3.15 3.16 stdlib type-bug
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
python/cpython#159044 · コメント 17 件 ·
メンテナーはふだん 1 日以内に返信
-
A minor problem with the section "6.10.2. Membership test operations" from the language reference.オープンdocs pending
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
python/cpython#159034 · コメント 5 件 ·
メンテナーはふだん 1 日以内に返信
-
Docs: socket.htons() and friends raise ValueError for negative input since 3.14対応中かも @vetrovk が 3 日前に担当しました。 オープンdocs topic-socket
難易度 1/5 1〜3時間 初心者へのやさしさ 78/100
python/cpython#159012 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
似ている issue
-
難易度 1/5 1〜3時間 初心者へのやさしさ 88/100
gradio-app/gradio#13964 ·
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 93/100
BSData/horus-heresy-3rd-edition#3232 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
jbacalso24/mimry#123 ·
メンテナーはふだん 1 日以内に返信
-
p:3-mid pydanty:bug pydanty:is-working
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
pydantic/pydantic-ai#10153 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
good first issue priority: medium size: S testing
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100
cubrid-lab/cubrid-cookbook-python#316 ·
メンテナーはふだん 1 日以内に返信