Anomalie #6067
Le colorieur de log plante sur les erreurs d’encodages unicode
Statut:
Fermé
Priorité:
Normal
Assigné à:
Catégorie:
-
Version cible:
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().
Révisions associées
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
Historique
#1 Mis à jour par Daniel Dehennin il y a plus de 10 ans
- Statut changé de Accepté à Résolu
- % réalisé changé de 0 à 100
Appliqué par commit 87cb865ca493fdf9fc35cef995561a3f62b01aae.
#2 Mis à jour par Joël Cuissinat il y a plus de 10 ans
- Statut changé de Résolu à Fermé