Projet

Général

Profil

Bug #47426

par connecteur pouvoir configurer la rétention des logs

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

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
07 octobre 2020
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

Pour le moment il y a un global settings.LOG_RETENTION_DAYS, ça serait utile de pouvoir pour un connecteur (via "paramètres de journalisation") configurer une durée différente.


Fichiers


Demandes liées

Lié à Passerelle - Development #48235: Permettre de suivre un éventuel changement de configuration globale, sur la taille des requêtes et réponses loguées.Fermé03 novembre 2020

Actions

Révisions associées

Révision 4b03e71c (diff)
Ajouté par Nicolas Roche il y a plus de 3 ans

logging: manage log_retention_days log parameters (#47426)

Historique

#2

Mis à jour par Nicolas Roche il y a plus de 3 ans

  • Assigné à mis à Nicolas Roche
#3

Mis à jour par Nicolas Roche il y a plus de 3 ans

#4

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

default=settings.LOG_RETENTION_DAYS

qui dans la migration se retrouve
default=7

Il faut aider django et mettre la bonne valeur par défaut dans la migration, je pense.

#5

Mis à jour par Thomas Noël il y a plus de 3 ans

pour moi il faut mettre un NULL en base quand il n'y a pas de config particulière de la rétention, et dans ce cas c'est le settings qui prend le dessus (car le settings est dynamique, il peut changer)

#6

Mis à jour par Nicolas Roche il y a plus de 3 ans

Pour être sûr d'avoir bien compris :
Mon erreur est que si la valeur en settings était déjà modifiée, alors la migration va l'écraser avec la valeur par défault.
Erreur que j'avais déjà commise dans #36596 sur LOGGED_RESPONSES_MAX_SIZE et LOGGED_REQUESTS_MAX_SIZE et qu'il s'agit de ne pas reproduire ici.

Pour info j'ai cherché à évaluer les dégâts (sur le saas seulement) et je n'ai rien trouvé :

$ sudo grep -R LOG /etc/passerelle/

#7

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

Je ne sais pas de quels dégâts on parle vu que le patch n'est pas déployé. (?) (j'imagine qu'on parle de ce que ça aurait donné si jamais c'était arrivé en prod et là ton grep est insuffisant, le paramétrage peut arriver via le settings.json voire le hobo.json). (mais si on parle vraiment de l'hypothétique situation, on peut s'arrêter là, inutile de l'analyser).

+        d['log_retention_days'] = parameters.log_retention_days or settings.LOG_RETENTION_DAYS

Sur une idée similaire, i.e. suivre un éventuel changement de configuration globale, je serais pour que le champ soit laissé vide par défaut, et vide = prendre la valeur par défaut.

Alors qu'ici l'utilisateur qui modifie un autre paramètre se trouve figer involontairement la durée de rétention.

#8

Mis à jour par Nicolas Roche il y a plus de 3 ans

je serais pour que le champ soit laissé vide par défaut

oui, blank=True

Pour les dégâts je pensais aussi à #36596.
Et du coup je pense devoir y reporter les corrections que vous m'avez suggérées ici. (-> #48235)

#9

Mis à jour par Nicolas Roche il y a plus de 3 ans

  • Lié à Development #48235: Permettre de suivre un éventuel changement de configuration globale, sur la taille des requêtes et réponses loguées. ajouté
#10

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

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

Mis à jour par Nicolas Roche il y a plus de 3 ans

  • Statut changé de Solution validée à Résolu (à déployer)
commit 4b03e71c2a0ddb47b86628df0ec72de364e2136c
Author: Nicolas ROCHE <nroche@entrouvert.com>
Date:   Thu Oct 22 11:57:51 2020 +0200

    logging: manage log_retention_days log parameters (#47426)
#12

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

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

Formats disponibles : Atom PDF