FOXA-2992 : le sink de loguru ne perd plus une ligne sans bind(context=…) #46

Merged
foXaCe merged 2 commits from passe-20261006-042842-0b6eaaad into main 2026-10-06 06:28:57 +02:00
Owner

Résumé

FOXA-2992 : le sink de loguru ne perd plus une ligne sans bind(context=…)

  • f3b5b25 FOXA-2992 : le sink perdait toute ligne journalisee sans bind(context=…)
  • 0b6eaaa FOXA-2992 : le recit dans JOURNAL.md, la reference portee a 34 suites / 552

Pourquoi

FOXA-2992 — le motif complet est dans le ticket, et dans le message du ou des commits ci-dessus.

Ce qui a été mesuré

Porte jouée par la forge, pas sur le poste. « Porte / porte* » est le seul contexte qu'exige la protection de « main » : la fusion attend son vert et ne le contourne pas.

Livrée par livrer-passe.sh depuis le worktree ../wacustom-f2992, tête 0b6eaaad.

## Résumé FOXA-2992 : le sink de loguru ne perd plus une ligne sans bind(context=…) - f3b5b25 FOXA-2992 : le sink perdait toute ligne journalisee sans bind(context=…) - 0b6eaaa FOXA-2992 : le recit dans JOURNAL.md, la reference portee a 34 suites / 552 ## Pourquoi FOXA-2992 — le motif complet est dans le ticket, et dans le message du ou des commits ci-dessus. ## Ce qui a été mesuré Porte jouée par la forge, pas sur le poste. « Porte / porte* » est le seul contexte qu'exige la protection de « main » : la fusion attend son vert et ne le contourne pas. Livrée par livrer-passe.sh depuis le worktree ../wacustom-f2992, tête 0b6eaaad.
Les deux gabarits de sink exigeaient `{extra[context]}` — celui de la console
comme celui de la trace du volume. Sur une ligne journalisee sans
`bind(context=…)`, loguru leve `KeyError`, l'encaisse, le sink survit et la
ligne disparait des DEUX colonnes du releve, sans que rien ne le dise dans la
trace elle-meme. Le ticket nommait la trace (`logger.py:212`) ; la mesure a
trouve la console aussi (`format_log`), qui perdait la meme ligne sur le meme
`Handler #1`. Corriger le fichier seul aurait laisse la premiere colonne des
deux releves muette sur la meme ligne.

`_contexte_de(record)` lit la colonne de contexte avec son repli `ADDON`, et
c'est le gabarit qui la pose : plus aucun gabarit n'exige une cle que loguru ne
garantit pas.

Deux pieges du passage d'un format statique a un format rendu par une fonction,
tous deux mesures le jour meme sur le correctif, tous deux invisibles sur un
`grep` de confort — loguru n'ajoute au format que ce qu'on lui donne, et un
format STATIQUE se voit complete par `"\n{exception}"`
(`loguru/_logger.py:397`) :

- sans le `\n` final, les lignes de la trace se recollent bout a bout et le
  `grep -ac` de CLAUDE.md rend 1 au lieu du nombre de lignes ;
- sans `{exception}`, la traceback d'une ligne en echec disparait de la trace.

Le banc fige les deux, et fige le format du releve pour une ligne
contextuelle : sortie identique octet pour octet a l'ancien format statique.

`test_ligne_sans_contexte_sort.py`, 13 cas. Sur le comportement d'avant, 12 des
13 rougissent ; le treizieme journalise AVEC un contexte et passe des deux
cotes — c'est lui le verrou de non-regression.
FOXA-2992 : le recit dans JOURNAL.md, la reference portee a 34 suites / 552
All checks were successful
Porte / porte (pull_request) Successful in 13s
0b6eaaad0b
CLAUDE.md : 33/539 -> 34/552, avec le chiffre mesure et la liste des cas. La
note sur l'epingle selectolax y est aussi, parce que c'est une contrainte de
construction d'image et pas seulement une note de test : une image reconstruite
sans elle ne demarre pas.

JOURNAL.md : le pourquoi. Les deux pieges du format rendu par une fonction, le
second defaut trouve en route, et la separation du chantier lexbor.
foXaCe scheduled this pull request to auto merge when all checks succeed 2026-10-06 06:28:43 +02:00
foXaCe merged commit 59daa9e66d into main 2026-10-06 06:28:57 +02:00
foXaCe deleted branch passe-20261006-042842-0b6eaaad 2026-10-06 06:28:57 +02:00
Sign in to join this conversation.
No reviewers
No labels
montee-majeure
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
foXaCe/wacustom!46
No description provided.