Projet

Général

Profil

Development #29239

logging: forcer le niveau INFO sur le domaine django.template

Ajouté par Benjamin Dauvergne il y a plus de 5 ans. Mis à jour il y a presque 5 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Catégorie:
-
Version cible:
-
Début:
20 décembre 2018
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

Ce ticket ne s'occupe pas de savoir où ça va, juste de comment on filtre ou pas. Proposé sur #29149:

Je pense qu'on peut tout faire avec un filtre comme dit plus haut, on peut imaginer un filtre DebugLog gérait par un setting DEBUG_LOG:
* DEBUG_LOG=False : le filtre bloque tout ce qui est au niveau DEBUG ou moins
* DEBUG_LOG=True : le filtre laisse passer tout ce qui est au niveau DEBUG ou moins
* DEBUG_LOG="authentic2" : le filtre laisse passer tous ce qui est au niveau DEBUG ou moins pour les domaines "authentic2.*" -
* DEBUG_LOG="authentic2,django" : le filtre laisse passer tous ce qui est au niveau DEBUG ou moins pour les domaines "authentic2*" ou "django.*"-

En lien avec #28930 on voudrait avoir un écran dédié pour gérer ce paramètre :

[ ] Activer les logs de debug
Uniquement pour : [ ]
help_text: entrez des noms d'application séparé par des espaces, ex.: « authentic2 passerelle »

Ticket piraté par Thomas, voir #29240 et #29149 à la place.


Fichiers

Révisions associées

Révision 513db183 (diff)
Ajouté par Thomas Noël il y a plus de 5 ans

debian_config_common: force INFO level on django.template logging (#29239)

Historique

#1

Mis à jour par Christophe Siraut il y a plus de 5 ans

Peut-être utiliser un dictionnaire (ou booléen):

DEBUG_LOG = { 'authentic2' : True , 'django' : False }
class RequireDebugLogTrue(logging.Filter):
    def filter(self, record):
        if DEBUG_LOG in settings:
            if type(settings.DEBUG_LOG) == bool:
                return settings.DEBUG_LOG
            else:
                return settings.DEBUG_LOG.get(APP_NAME, False)
        else:
            return False

(Comment trouver APP_NAME?)

#2

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

C'est vraiment un truc de debug pour nous, je suis pas sûr que cette complexité soit nécessaire, aucun client ne pourra jamais vraiment utiliser ça (sauf ceux qui font du on premise et s'auto-administrent, genre 0.1% des clients, à ce stade ils peuvent bien apprendre des trucs compliqués).

Une fois qu'on a ça, je me disais qu'il faudrait ouvrir un ticket pour voir où envoyer ces logs de debug et comment y avoir accès facilement (surtout avec 2 fronts par brique, ça va devenir réellement chiant).

#5

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

Sachant que le soucis vient actuellement à 99,9% des nouveaux debug du module django.template de Django 1.11, ce patch pour poser le niveau "INFO" sur ce module.

Testé avec succès via un settings.d sur la recette.

#6

Mis à jour par Emmanuel Cazenave il y a plus de 5 ans

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

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

  • Statut changé de Solution validée à Résolu (à déployer)
commit 513db18396a5f765af6d9f1d0e0e21b95ef06175
Author: Thomas NOEL <tnoel@entrouvert.com>
Date:   Fri Dec 21 14:43:35 2018 +0100

    debian_config_common: force INFO level on django.template logging (#29239)

#8

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

Vous voulez pas ouvrir vos propres tickets au lieu de polluer les miens ? J'ai rien contre le patch de Thomas mais ça n'a rien à voir avec l'objectif du ticket initial.

#9

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

  • Statut changé de Résolu (à déployer) à Nouveau
#10

Mis à jour par Benjamin Dauvergne il y a presque 5 ans

  • Sujet changé de avoir un filtre pour gérer les logs de niveau debug à logging: forcer le niveau INFO sur le domaine django.template
  • Statut changé de Nouveau à Fermé
  • Assigné à mis à Thomas Noël
#11

Mis à jour par Benjamin Dauvergne il y a presque 5 ans

  • Description mis à jour (diff)

Formats disponibles : Atom PDF