Projet

Général

Profil

Development #57253

ne pas afficher b' ' autour des bytes dans les logs

Ajouté par Frédéric Péters il y a plus de 2 ans. Mis à jour il y a plus de 2 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
24 septembre 2021
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

Dans les logs détaillés on va par exemple avoir :

body     b'{"id_typeinterv": "5", "id_urgence": "1", "id_qualification": "3", "demandeur": " ", "observations": "Lampadaire \\u00e9teint \\u00e0 c\\u00f4t\\u00e9 du lyc\\u00e9e orsel au 30 rue orsel ", "elements": "OULDE032"}'

ce serait plus sympa d'avoir juste le message, pas le b' '.


Fichiers

Révisions associées

Révision 71096981 (diff)
Ajouté par Valentin Deniaud il y a plus de 2 ans

misc: log bytes as string without enclosing b"" (#57253)

Historique

#1

Mis à jour par Valentin Deniaud il y a plus de 2 ans

  • Assigné à mis à Valentin Deniaud
#2

Mis à jour par Valentin Deniaud il y a plus de 2 ans

En fait il n'y a pas de bytes dans les logs, car

            def is_json_serializable(value):
                return isinstance(value, (list, dict, bool) + six.integer_types + six.string_types)

            attr['extra'] = {key: value for key, value in extra.items() if is_json_serializable(value)}

Si il y en a ils ont été manuellement convertis en chaîne avant le log, typiquement pour body on trouve extras.update({'body': repr(req.body[:max_size])}).

Plein de manières de s'en sortir, je choisis d'autoriser d'envoyer des bytes dans extra et de faire la conversion au moment du log en enlevant le b"".

#3

Mis à jour par Benjamin Dauvergne il y a plus de 2 ans

Si payload ou content sont du texte, n'essayerait-on pas de le logger ça décodé en utf-8 plutôt que de logger un repr d'un bytes sans le "b" mais avec des caractères échapés ?

#4

Mis à jour par Benjamin Dauvergne il y a plus de 2 ans

  • Statut changé de Solution proposée à En cours
#5

Mis à jour par Valentin Deniaud il y a plus de 2 ans

Benjamin Dauvergne a écrit :

Si payload ou content sont du texte, n'essayerait-on pas de le logger ça décodé en utf-8

Oui je m'attendais à cette remarque, revoici

#6

Mis à jour par Benjamin Dauvergne il y a plus de 2 ans

  • Statut changé de Solution proposée à Solution validée

Ok.

#7

Mis à jour par Valentin Deniaud il y a plus de 2 ans

  • Statut changé de Solution validée à Résolu (à déployer)
commit 7109698192dc067c39a5b1031065a6af7056590d
Author: Valentin Deniaud <vdeniaud@entrouvert.com>
Date:   Tue Oct 5 17:06:02 2021 +0200

    misc: log bytes as string without enclosing b"" (#57253)
#8

Mis à jour par Frédéric Péters il y a plus de 2 ans

  • Statut changé de Résolu (à déployer) à Solution déployée

Formats disponibles : Atom PDF