Development #38157
lier les logs produits par une même requête
0%
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
Historique
Mis à jour par Valentin Deniaud il y a environ 4 ans
- Fichier 0001-misc-find-logs-corresponding-to-the-same-API-call-38.patch 0001-misc-find-logs-corresponding-to-the-same-API-call-38.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
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.
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).
Mis à jour par Valentin Deniaud il y a environ 4 ans
- Fichier 0001-misc-find-logs-corresponding-to-the-same-API-call-38.patch 0001-misc-find-logs-corresponding-to-the-same-API-call-38.patch ajouté
transaction_id it is.
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.
Mis à jour par Valentin Deniaud il y a presque 4 ans
- Fichier 0001-misc-find-logs-corresponding-to-the-same-API-call-38.patch 0001-misc-find-logs-corresponding-to-the-same-API-call-38.patch ajouté
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 %}
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).
Mis à jour par Valentin Deniaud il y a presque 4 ans
- Fichier 0001-misc-find-logs-corresponding-to-the-same-API-call-38.patch 0001-misc-find-logs-corresponding-to-the-same-API-call-38.patch ajouté
Voilà.
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.
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)
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
misc: find logs corresponding to the same API call (#38157)