Projet

Général

Profil

Development #38157

lier les logs produits par une même requête

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

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
03 décembre 2019
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

Aujourd'hui, dans #38150, je cherche un appel, en connaissant les paramètres qui avaient été employés, puis pour voir les appels webservice vers l'application métier, je dois faire une recherche sur date/heure, et retrouver dans la liste ce qui concerne le bon appel.

J'aurais bien aimé, une fois une ligne trouvée, avoir un lien "afficher tous les logs concernant à cet appel".


Fichiers

Révisions associées

Révision 136766cc (diff)
Ajouté par Valentin Deniaud il y a presque 4 ans

misc: find logs corresponding to the same API call (#38157)

Historique

#1

Mis à jour par Valentin Deniaud il y a environ 4 ans

  • Assigné à mis à Valentin Deniaud
#2

Mis à jour par Valentin Deniaud il y a environ 4 ans

Je m'appuie sur les tickets que je viens de faire (#39563 et #39564).

C'est un petit peu le bazar la manière dont tout est loggé à plein d'endroits différents, donc je tente une solution qui ne s'en préoccupe pas : on s'assure qu'il n'y a qu'un objet logger qui soit instancié tout au long de l'appel d'un endpoint, on lui associe un id unique dont héritent toutes les lignes créées, et ensuite on peut filtrer dessus.

#3

Mis à jour par Frédéric Péters il y a environ 4 ans

Je m'attendais à plus d'acrobaties après ton commentaire; ça me va bien, j'ai juste une hésitation sur instance_id et request_id qui sont la même chose mais à des endroits différents; avoir un nom unique me semblerait plus clair à suivre. (ma seule proposition ici serait transaction_id).

#5

Mis à jour par Frédéric Péters il y a environ 4 ans

En terme de présentation j'isolerais la fonctionnalité, ainsi :

--- a/passerelle/templates/passerelle/manage/log.html
+++ b/passerelle/templates/passerelle/manage/log.html
@@ -10,8 +10,7 @@
       {% with val=value|censor %}
       {% if key == 'connector_endpoint_url' %}
       <a href="{{val}}">{{val}}</a>
-      {% elif key == 'transaction_id' %}
-      {{val}} (<a href="{% url 'view-logs-connector' connector=object.get_connector_slug slug=object.slug %}?q={{val}}">{% trans "search for logs from the same call" %}</a>)
+      {% elif key == 'transaction_id' %} {# skip #}
       {% else %}
       {{val|linebreaksbr|urlize}}
       {% endif %}
@@ -20,4 +19,11 @@
 </tr>
 {% endfor %}
 </table>
+
+{% if logline.extra.transaction_id %}
+<div class="buttons">
+<a class="button" href="{% url 'view-logs-connector' connector=object.get_connector_slug slug=object.slug %}?q={{logline.extra.transaction_id}}">{% trans "Search for logs from the same call" %}</a>
+</div>
+{% endif %}
+
 </div>

Pas d'autre commentaire.

#6

Mis à jour par Valentin Deniaud il y a presque 4 ans

D'accord mais ta manière de sauter transaction_id dans le for ne fonctionne pas, il y a <td>{{key}}</td> plus haut qui va afficher une ligne transaction_id vide. Comme pas de continue de dispo, je pense que le plus simple reste de le laisser s'afficher, ie

--- a/passerelle/templates/passerelle/manage/log.html
+++ b/passerelle/templates/passerelle/manage/log.html
@@ -12,3 +12,2 @@
       <a href="{{val}}">{{val}}</a>
-      {% elif key == 'transaction_id' %} {# skip #}
       {% else %}

#7

Mis à jour par Frédéric Péters il y a presque 4 ans

Ou juste globalement,

 {% for key, value in logline.extra.items %}
+{% if key != 'transaction_id' %}

(je préfère ne pas allonger la popup avec de l'info impraticable).

#9

Mis à jour par Frédéric Péters il y a presque 4 ans

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

Ok pour moi.

#10

Mis à jour par Valentin Deniaud il y a presque 4 ans

  • Statut changé de Solution validée à Résolu (à déployer)
commit 32940e75cdd3c8819a5ca802b6eb3a82e256da90
Author: Valentin Deniaud <vdeniaud@entrouvert.com>
Date:   Tue Feb 18 14:22:47 2020 +0100

    misc: find logs corresponding to the same API call (#38157)
#11

Mis à jour par Frédéric Péters il y a presque 4 ans

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

Formats disponibles : Atom PDF