Development #27162
paramètres de logging / virer le niveau de log "NOTSET"
0%
Description
Sauf si quelqu'un en connait le sens.
Fichiers
Révisions associées
migrations: remove duplicated verbose_name (#27162)
migrations: remove duplicated verbose_name (bis...) (#27162)
misc: add additional migrations removing log_level (#27162)
remove log level attribute (#27162)
tests: declare misc logger tests to require a database (#27162)
Historique
Mis à jour par Emmanuel Cazenave il y a plus de 5 ans
Explication claire comme de la boue : https://docs.python.org/2/library/logging.html#logging.Logger.setLevel, virons ce truc.
Mis à jour par Frédéric Péters il y a plus de 5 ans
- Fichier 0001-general-move-logging-parameters-to-its-own-model-271.patch 0001-general-move-logging-parameters-to-its-own-model-271.patch ajouté
- Sujet changé de virer le niveau de log "NOTSET" à paramètres de logging / virer le niveau de log "NOTSET"
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
C'est à nouveau une modification qui appelle à des migrations dans toutes les applications, ça n'aurait pas été la dernière du coup j'ai décidé de déplacer ce paramètre dans un modèle séparé, LoggingParameters, qui pourra évoluer sans demander des migrations partout.
La migration passerelle/base/migrations/0008_auto_20181118_0717.py passe sur tous les modèles connus et crée une instance de LoggingParemeters avec la valeur qui était dans l'attribut du modèle avant.
Si jamais un connecteur (externe) ne joue pas de migration pour retirer le log_level, ce n'est pas grave, ça fera juste une colonne inutilisée dans la db.
Côté code la compatibilité est assurée sur l'attribut log_level, en lecture. En écriture, vu que ça demande désormais que le connecteur ait déjà été enregistré, j'ai fait un nouveau set_log_level().
Niveau UI j'ajoute une fenêtre "logging parameters".
Côté export/import il n'y a pas de changement dans le format.
~~
Tout ça c'est bien sûr pour ouvrir la voie à un nouvel attribut genre,
trace_emails = models.TextField( verbose_name=_('Emails to receive error and critical traces'), help_text=_('One address per line'), blank=True)
(un jour dans #24591).
Mis à jour par Frédéric Péters il y a plus de 5 ans
- Fichier 0001-general-move-logging-parameters-to-its-own-model-271.patch 0001-general-move-logging-parameters-to-its-own-model-271.patch ajouté
(j'avais oublié le lien d'un bouton annuler, patch à jour)
Mis à jour par Emmanuel Cazenave il y a plus de 5 ans
Il y a un deletion.CASCADE
défini sur LoggingParameters.resource_type
dans la migration mais pas dans la déclaration de ce modèle.
Pareil pour log_level.max_length
.
Mis à jour par Frédéric Péters il y a plus de 5 ans
- Fichier 0001-general-move-logging-parameters-to-its-own-model-271.patch 0001-general-move-logging-parameters-to-its-own-model-271.patch ajouté
Le deletion.CASCADE a été écrit tout seul. Le max_length est bien présent des deux côtés.
Par contre verbose_name était mal renseigné.
Mis à jour par Emmanuel Cazenave il y a plus de 5 ans
- Statut changé de Solution proposée à Solution validée
Frédéric Péters a écrit :
Le deletion.CASCADE a été écrit tout seul
J'ai pas compris mais tu as l'air de bien comprendre, zou.
Mis à jour par Frédéric Péters il y a plus de 5 ans
Le deletion.CASCADE a été écrit tout seul
J'ai pas compris mais tu as l'air de bien comprendre, zou.
J'ai tapé makemigrations et le deletion.CASCADE a été écrit dans le fichier de migration.
Mis à jour par Emmanuel Cazenave il y a plus de 5 ans
Rien de crucial mais mon point était donc qu'on devrait avoir le cascade
dans les deux endroits ou nulle part, pour les gens qui lancent les tests avec --nomigrations par exemple.
Mis à jour par Frédéric Péters il y a plus de 5 ans
Rien de crucial mais mon point était donc qu'on devrait avoir le cascade dans les deux endroits ou nulle part, pour les gens qui lancent les tests avec --nomigrations par exemple.
Si c'est arrivé dans le fichier de migration ainsi c'est que c'est le paramétrage par défaut, qu'on obtiendra aussi via --no-migrations, sauf bug django. (c'était mon point en disant "ça s'est écrit tout seul").
Mis à jour par Frédéric Péters il y a plus de 5 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit d098de396c6ce24385e8662366c36cacccd77867 Author: Frédéric Péters <fpeters@entrouvert.com> Date: Sun Nov 18 15:06:25 2018 +0100 general: move logging parameters to its own model (#27162) (and remove the NOTSET level during the migration)
Mis à jour par Benjamin Dauvergne il y a plus de 5 ans
- Statut changé de Résolu (à déployer) à Fermé
general: move logging parameters to its own model (#27162)
(and remove the NOTSET level during the migration)