Projet

Général

Profil

Development #27162

paramètres de logging / virer le niveau de log "NOTSET"

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

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

0%

Temps estimé:
Patch proposed:
Oui
Planning:

Description

Sauf si quelqu'un en connait le sens.


Fichiers

Révisions associées

Révision d098de39 (diff)
Ajouté par Frédéric Péters il y a plus de 5 ans

general: move logging parameters to its own model (#27162)

(and remove the NOTSET level during the migration)

Révision ca1ad5a5 (diff)
Ajouté par Frédéric Péters il y a plus de 5 ans

migrations: remove duplicated verbose_name (#27162)

Révision e6fb6da4 (diff)
Ajouté par Frédéric Péters il y a plus de 5 ans

migrations: remove duplicated verbose_name (bis...) (#27162)

Révision 0f548db7 (diff)
Ajouté par Frédéric Péters il y a plus de 5 ans

misc: add additional migrations removing log_level (#27162)

Révision 893e4e7a (diff)
Ajouté par Frédéric Péters il y a plus de 5 ans

remove log level attribute (#27162)

Révision 6e72dc78 (diff)
Ajouté par Frédéric Péters il y a plus de 5 ans

tests: declare misc logger tests to require a database (#27162)

Historique

#1

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.

#2

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

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).

#4

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.

#5

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

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é.

#6

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.

#7

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.

#8

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.

#9

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").

#10

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)
#11

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

  • Statut changé de Résolu (à déployer) à Fermé

Formats disponibles : Atom PDF