Anomalie #6067
Le colorieur de log plante sur les erreurs d’encodages unicode
Status:
Fermé
Priority:
Normal
Assigned To:
Category:
-
Target version:
Distribution:
EOLE 2.4
Description
Cela cache les vrais problèmes lorsqu’une exception est levée à cause d’une erreur d’encodage.
Il faudrait utiliser du code équivalent à celui de logging.StreamHandler.emit().
Associated revisions
Le colorieur de log plante sur les erreurs d’encodage unicode
Le code est inspiré par « logging.StreamHandler.emit() ».
- pyeole/loghandlers.py (ColorizingStreamHandler._decode_write): Gére les
erreurs d’encodage avec un encodage par défaut à « UTF-8 ».
- pyeole/loghandlers.py (ColorizingStreamHandler.emit): Utilisation de la
nouvelle méthode.
- pyeole/loghandlers.py (ColorizingStreamHandler.output_colorized): Idem.
Fixes: #6067 @30m
Amélioration de la gestion de l’unicode par le loggeur
- pyeole/log.py (init_logging): Définition des « format » en unicode.
- pyeole/loghandlers.py (ColorizingStreamHandler.format): Force le
message du « LogRecord » en unicode.
Ref: #6067 @30m
Le loggeur ne peut convertir en unicode que des « basestring »
- pyeole/loghandlers.py (ColorizingStreamHandler.default_encoding):
Déclaration de l’encodage par défaut.
(ColorizingStreamHandler._decode_write): Utilisation du nouvel attribut.
(ColorizingStreamHandler.format): Ne convertir en unicode que les basestrings.
Ref: #6067 @30m
History
#1 Updated by Daniel Dehennin about 10 years ago
- Status changed from Accepté to Résolu
- % Done changed from 0 to 100
Appliqué par commit 87cb865ca493fdf9fc35cef995561a3f62b01aae.
#2 Updated by Joël Cuissinat almost 10 years ago
- Status changed from Résolu to Fermé