Project

General

Profile

Development #29239

avoir un filtre pour gérer les logs de niveau debug

Added by Benjamin Dauvergne 4 months ago. Updated 4 months ago.

Status:
Nouveau
Priority:
Normal
Assignee:
-
Category:
-
Start date:
20 Dec 2018
Due date:
% Done:

0%

Patch proposed:
Yes
Planning:
No

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 »

0001-debian_config_common-force-INFO-level-on-django.temp.patch View (910 Bytes) Thomas Noël, 21 Dec 2018 02:44 PM

Associated revisions

Revision 513db183 (diff)
Added by Thomas Noël 4 months ago

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

History

#1 Updated by Christophe Siraut 4 months ago

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 Updated by Benjamin Dauvergne 4 months ago

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 Updated by Thomas Noël 4 months ago

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 Updated by Emmanuel Cazenave 4 months ago

  • Status changed from Solution proposée to Solution validée

#7 Updated by Thomas Noël 4 months ago

  • Status changed from Solution validée to 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 Updated by Benjamin Dauvergne 4 months ago

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 Updated by Benjamin Dauvergne 4 months ago

  • Status changed from Résolu (à déployer) to Nouveau

Also available in: Atom PDF