Projet

Général

Profil

Development #29149

Revoir le fonctionnement des logs de debug

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

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

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

Parce que ça s'adresse au développeur qui devrait lire ça sur son terminal, pas à un fichier de log qui va se remplir sans lecteur.

(peut-être à réaffecter à hobo pour modifier la configuration exposée dans le packaging)

PS: ancien nom "ne pas logguer de manière persistante le niveau "debug""


Fichiers

0001-set-syslog-handlers-to-level-INFO-29149.patch (1,04 ko) 0001-set-syslog-handlers-to-level-INFO-29149.patch Emmanuel Cazenave, 18 décembre 2018 10:36
0001-matomo-adapt-translations-32940.patch (3,56 ko) 0001-matomo-adapt-translations-32940.patch Benjamin Dauvergne, 16 mai 2019 17:46
0002-agent-adapt-to-authentic2-spring-cleaning-33120.patch (1,86 ko) 0002-agent-adapt-to-authentic2-spring-cleaning-33120.patch Benjamin Dauvergne, 16 mai 2019 17:46
0001-debian-add-debug-log-in-var-log-app-debug-29149.patch (5,56 ko) 0001-debian-add-debug-log-in-var-log-app-debug-29149.patch Benjamin Dauvergne, 24 mai 2019 11:07
0002-debian-add-InternalIpMiddleware-29149.patch (2,48 ko) 0002-debian-add-InternalIpMiddleware-29149.patch Benjamin Dauvergne, 24 mai 2019 11:07
0001-debian-add-debug-log-in-var-log-app-debug-29149.patch (6,29 ko) 0001-debian-add-debug-log-in-var-log-app-debug-29149.patch Benjamin Dauvergne, 19 juin 2019 09:56
0002-debian-add-InternalIpMiddleware-29149.patch (2,48 ko) 0002-debian-add-InternalIpMiddleware-29149.patch Benjamin Dauvergne, 19 juin 2019 09:56
0001-debian-add-debug-log-in-var-log-app-debug-29149.patch (6,29 ko) 0001-debian-add-debug-log-in-var-log-app-debug-29149.patch Benjamin Dauvergne, 19 septembre 2019 18:08
0002-debian-add-InternalIpMiddleware-29149.patch (2,48 ko) 0002-debian-add-InternalIpMiddleware-29149.patch Benjamin Dauvergne, 19 septembre 2019 18:08
0001-debian-add-debug-log-in-var-log-app-debug-29149.patch (6,29 ko) 0001-debian-add-debug-log-in-var-log-app-debug-29149.patch Benjamin Dauvergne, 13 avril 2020 18:40
0002-debian-add-InternalIpMiddleware-29149.patch (3,24 ko) 0002-debian-add-InternalIpMiddleware-29149.patch Benjamin Dauvergne, 13 avril 2020 18:40
0003-tests_multitenant-fix-non-deterministic-behaviour-29.patch (1,02 ko) 0003-tests_multitenant-fix-non-deterministic-behaviour-29.patch Benjamin Dauvergne, 13 avril 2020 18:40
0001-debian-add-fixup-to-test-29149.patch (3,83 ko) 0001-debian-add-fixup-to-test-29149.patch Nicolas Roche, 18 avril 2020 20:37
0001-debian-add-debug-log-in-var-log-app-debug-29149.patch (13,3 ko) 0001-debian-add-debug-log-in-var-log-app-debug-29149.patch Benjamin Dauvergne, 21 avril 2020 00:27
0002-debian-add-InternalIpMiddleware-29149.patch (5,67 ko) 0002-debian-add-InternalIpMiddleware-29149.patch Benjamin Dauvergne, 21 avril 2020 00:27
0004-logger-prevent-RequestContextFilter-multiple-executi.patch (1,86 ko) 0004-logger-prevent-RequestContextFilter-multiple-executi.patch Benjamin Dauvergne, 22 août 2020 23:55
0001-debian-add-debug-log-in-var-log-app-debug-29149.patch (13,8 ko) 0001-debian-add-debug-log-in-var-log-app-debug-29149.patch Benjamin Dauvergne, 22 août 2020 23:55
0003-logger-deprecate-SettingsLogLevel-29149.patch (2,57 ko) 0003-logger-deprecate-SettingsLogLevel-29149.patch Benjamin Dauvergne, 22 août 2020 23:55
0002-debian-add-InternalIpMiddleware-29149.patch (6,18 ko) 0002-debian-add-InternalIpMiddleware-29149.patch Benjamin Dauvergne, 22 août 2020 23:55
0005-debian-set-journald-log-level-to-INFO-29149.patch (922 octets) 0005-debian-set-journald-log-level-to-INFO-29149.patch Benjamin Dauvergne, 22 août 2020 23:55

Demandes liées

Lié à Publik - Autre #29234: variables non définies utilisées dans les templates django ?Fermé20 décembre 2018

Actions
Lié à Hobo - Development #29240: Avoir un écran pour gérer le paramétrage de debugFermé20 décembre 2018

Actions
Lié à Hobo - Development #42751: vue générique pour voir les logs de debugRejeté12 mai 2020

Actions

Révisions associées

Révision afe4b98f (diff)
Ajouté par Benjamin Dauvergne il y a plus de 3 ans

debian: add debug log in /var/log/<app>/debug (#29149)

It's configured through the DEBUG_LOG settings:
  • DEBUG_LOG = False, no debug log
  • DEBUG_LOG = True, all debug log go to /var/log/<app>/debug
  • DEBUG_LOG = app1,app2, only debug log of logger app1 and app2
    go to /var/log/<app>/debug

/var/log/<app>/debug is emptied everyday at midnight.

Révision e1647d8f (diff)
Ajouté par Benjamin Dauvergne il y a plus de 3 ans

debian: add InternalIpMiddleware (#29149)

It sets DEBUG=True when current request IP is in settings.INTERNAL_IPS.

Révision 050dbcb9 (diff)
Ajouté par Benjamin Dauvergne il y a plus de 3 ans

logger: deprecate SettingsLogLevel (#29149)

Révision 8c664bc0 (diff)
Ajouté par Benjamin Dauvergne il y a plus de 3 ans

logger: prevent RequestContextFilter multiple execution (#29149)

Révision 39241002 (diff)
Ajouté par Benjamin Dauvergne il y a plus de 3 ans

debian: set journald log level to INFO (#29149)

DEBUG logs must go to a local file now.

Historique

#2

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

Pas sur que ça suffise, compliqué à tester chez moi, mais à mon sens ça peut pas faire de mal.

#3

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

J'ai été un peu vite, ça viendrait contrarier ce qui a été mis en place dans #7906.

#4

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

On pourrait très bien remplacer tout ce que j'ai fait dans #7906 par le filtre django.utils.log.RequireDebugTrue sur un handler spécial "debug".

#5

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

  • Lié à Autre #29234: variables non définies utilisées dans les templates django ? ajouté
#6

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

Juste pour clarifier ce qui est attendu, du moins par moi: actuellement quand on a DEBUG=True, on se retrouve avec les log de niveau debug, mais ça ne devrait pas être lié. DEBUG=True devrait rester uniquement dans son rôle d'afficher des traces à l'écran (et autres messages par ci par là), mais les log devraient rester en mode INFO par défaut. On aurait à trouver un autre settings (genre settings.LOG_LEVEL ?) pour permettre de forcer le niveau de log sur un tenant particulier, via son settings.json, pendant une phase de diagnostic.

#7

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

Thomas Noël a écrit :

Juste pour clarifier ce qui est attendu, du moins par moi: actuellement quand on a DEBUG=True, on se retrouve avec les log de niveau debug, mais ça ne devrait pas être lié. DEBUG=True devrait rester uniquement dans son rôle d'afficher des traces à l'écran (et autres messages par ci par là), mais les log devraient rester en mode INFO par défaut. On aurait à trouver un autre settings (genre settings.LOG_LEVEL ?) pour permettre de forcer le niveau de log sur un tenant particulier, via son settings.json, pendant une phase de diagnostic.

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

Pour reprendre des remarques récentes de Fred ça pourrait utilement être géré depuis hobo via un écran dédié.

#8

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

Quand à DEBUG=True, je serai assez pour avoir un setting DEBUG_IP="<ip1> <ip2>", idem géré par hobo (je clique sur activate debug et ça ajoute mon ip cliente dans le truc), et avoir un middleware qui quand il voit l'IP pose DEBUG=True pour la durée de la requête.

Bon je vais faire des tickets au lieu de tout polluer.

Pour revenir au ticket, Emmanuel ce que tu modifies n'a pas d'effet sur le code de #7906, juste qu'il ne servira à rien si il n'y a plus aucun handler de niveau DEBUG, alors go si tu veux (mais les gens vous ne verrez plus les logs de debug pendant un moment).

#9

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

  • Sujet changé de ne pas logguer de manière persistante le niveau "debug" à Revois le fonctionnement des logs de debug
  • Description mis à jour (diff)
  • Statut changé de Solution proposée à En cours
  • Assigné à mis à Benjamin Dauvergne
#10

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

  • Sujet changé de Revois le fonctionnement des logs de debug à Revoir le fonctionnement des logs de debug
Nouveau plan :
  • effectivement remonter le niveau à INFO sur syslog,journal,etc...
  • supprimer toutes les bidouilles de loglevel, créer un OnlyDebug qui se base sur DEBUG_LOG
  • coté front hobo avoir une checkbox pour activer DEBUG_LOG
  • middleware pour avoir un DEBUG_IP
  • coté front hobo avoir un champ pour activer DEBUG_IP
  • pour chaque brique logger dans /var/log/brique/debug avec un TimedRotatingFileHandler utilisant le filtre OnlyDebug avec une rotation journalière sur 7 jours (je me dis que ça évitera de prévoir cela au niveau logrotate), ça pas super multiprocess proof mais si on perd une ligne de debug de temps en temps je ne pense pas que ce soit trop grave
#11

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

Renommage de DEBUG_IP en INTERNAL_IPS ce qui nous donne le supporte de django-debug-toolbar au passage.

#12

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

  • Lié à Development #29240: Avoir un écran pour gérer le paramétrage de debug ajouté
#13

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

Première implémentation.

Reste à faire des tests pour InternalIPMiddleware.

Cela va de de paire avec les écrans de #29240, le cas DEBUG_LOG='app1,app2' n'est pas gérable via ces écrans.

#14

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

Mauvais commits dans mon dernier commentaire. Branche basé sur #29240.

0001: les logs de debug ne partent plus vers syslog/journald mais vers /var/log/<app>/debug, c'est activé via DEBUG_LOG = True ou DEBUG_LOG=app1,app2
0002: INTERNAL_IPS = (ip1, ip2), active DEBUG = True pour les IPs indiquées

#16

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

Rebasé suite au push de #29240, j'ai juste un doute sur InternalIPMiddleware, j'ai un peu peur que DEBUG reste à True en cas d'exception; je ne vois pas vraiment comment faire mieux sans les middleware moderne de Django 1.11 basés sur une fonction recevant un get_response() en paramètre.

#17

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

Benjamin Dauvergne a écrit :

Rebasé suite au push de #29240, j'ai juste un doute sur InternalIPMiddleware, j'ai un peu peur que DEBUG reste à True en cas d'exception; je ne vois pas vraiment comment faire mieux sans les middleware moderne de Django 1.11 basés sur une fonction recevant un get_response() en paramètre.

Non en fait ça devrait aller process_response() est toujours appelé.

#18

Mis à jour par Nicolas Roche il y a environ 4 ans

Désolé de demander ça, mais à l'occasion, est-ce que tu pourrais rebaser (pour me donner une chance de relire) ?

#19

Mis à jour par Benjamin Dauvergne il y a environ 4 ans

Ok, le dernier patch c'est parce que chez moi un test que tu as ajouté récemment ne passe pas, étonnament ça semble marcher un peu tout le temps sur jenkins je dois avoir un postgres facétieux.

#20

Mis à jour par Nicolas Roche il y a environ 4 ans

Chouette, des logs !
Deux petites remarques :
  • Déplacer la déclaration du middleware dans debian/config_degian_common.py après que TenantMiddleware soit inclus afin que les variables issues d'_hobo.json_ soient disponibles dans le middleware.
  • Faire hériter DebugLogFilter de RequestContextFilter afin le filtre 'debug_log' renseigne les informations affichées par le formatter 'debug'.

Voici un patch qui donne ces modifications si d'autres veulent tester.

#22

Mis à jour par Benjamin Dauvergne il y a environ 4 ans

Je n'ai pas traité cet aspect du problème :

Parce que ça s'adresse au développeur qui devrait lire ça sur son terminal, pas à un fichier de log qui va se remplir sans lecteur.

#23

Mis à jour par Frédéric Péters il y a environ 4 ans

Entre le titre du ticket qui a changé et 80% de se description du ticket qui n'est pas traitée, on pourrait s'interroger sur le rapport entre le travail fait ici et la situation initiale.

Pour reprendre, donc, la situation initiale c'est DEBUG=True posé sur la recette, qui amenait à avoir des logs chargés de mille choses, et plus d'espace disque. Et je posais comme idée que les logs de debug étaient juste utiles sur le moment, qu'ils pouvaient défiler sur un terminal, suivis à un moment précis (et pas réunis par milliers dans des fichiers).

La partie de pas logguer en debug, elle doit être arrivée dans #29240, ok.

Et ce ticket gère l'autre côté, avoir un endroit qui puisse être consulté sur le moment (tail -f /var/log/authentic2/debug).

Ni du patch ni du commentaire de Nicolas je n'arrive à dire si ce fichier de log contiendra tous les niveaux, ou uniquement le niveau debug, et je dirais qu'avoir tous les niveaux pourraient être utiles, les niveaux supérieux pouvant quand même aider à suivre, mais peu importe.

#24

Mis à jour par Benjamin Dauvergne il y a environ 4 ans

Frédéric Péters a écrit :

Pour reprendre, donc, la situation initiale c'est DEBUG=True posé sur la recette, qui amenait à avoir des logs chargés de mille choses, et plus d'espace disque. Et je posais comme idée que les logs de debug étaient juste utiles sur le moment, qu'ils pouvaient défiler sur un terminal, suivis à un moment précis (et pas réunis par milliers dans des fichiers).

Oui c'est exactement ce qui est fait ici.

La partie de pas logguer en debug, elle doit être arrivée dans #29240, ok.

#29240 c'est pour contrôler les settings DEBUG_LOG et INTERNAL_IPS depuis le BO d'hobo.

Et ce ticket gère l'autre côté, avoir un endroit qui puisse être consulté sur le moment (tail -f /var/log/authentic2/debug).

Oui ça c'est fait mais il y aussi le fait d'activer DEBUG à la volée en fonction de INTERNAL_IPS, c'était l'autre aspect.

Ni du patch ni du commentaire de Nicolas je n'arrive à dire si ce fichier de log contiendra tous les niveaux, ou uniquement le niveau debug, et je dirais qu'avoir tous les niveaux pourraient être utiles, les niveaux supérieux pouvant quand même aider à suivre, mais peu importe.

Oui c'est exactement ce qui est fait ici, c'est un log classique on a tout à partir de DEBUG.

#25

Mis à jour par Benjamin Dauvergne il y a environ 4 ans

  • quand request.META['REMOTE_ADDR'] est dans settings.INTERNAL_IPS, alors settings.DEBUG est mis à True activant ainsi les traces HTML,
  • quand on a bool(settings.DEBUG) est vrai on log dans /var/log/brique/debug.log au niveau DEBUG et supérieur,
  • on a un jour d'archive vers /var/log/brique/debug.log.1 et rien de plus,
  • le fichier est parsable (à coup de caractère ASCII \x1f et d'espaces après les sauts de ligne), et via hobo.logger.DebugLog.lines() il est possible d'afficher les lignes de log dans une vue, mais ce travail n'est pas fait ici, je fournis juste l'outil.

Et oui on peut faire tail -f /var/log/brique/debug.log.

#26

Mis à jour par Frédéric Péters il y a environ 4 ans

Oui c'est exactement ce qui est fait ici.

Oui mon commentaire était pour pointer que malgré la distance qui pouvait être sentie entre la réalisation et le ticket initial, ça correspondait bien.

#27

Mis à jour par Nicolas Roche il y a environ 4 ans

Je corrige une typo dans les explications données en https://dev.entrouvert.org/issues/29149#note-25 :
  • quand on a bool(settings.*DEBUG_LOG*) est vrai on log dans /var/log/brique/debug.log au niveau DEBUG et supérieur,
    (d'après les commentaires par exemple : '''Filter debug log records based on the DEBUG_LOG setting''')

Et j'en profite pour indiquer à nouveau que les deux mécanismes (traces HTML et logs dans fichier debug) sont à présent décorélés.

#28

Mis à jour par Benjamin Dauvergne il y a environ 4 ans

Nicolas Roche a écrit :

Et j'en profite pour indiquer à nouveau que les deux mécanismes (traces HTML et logs dans fichier debug) sont à présent décorélés.

Oui, c'était un des objectifs effectivement.

#29

Mis à jour par Nicolas Roche il y a environ 4 ans

Le middleware 'InternalIPMiddleware' ne fonctionne toujours pas chez moi.
Cf https://dev.entrouvert.org/issues/29149#note-20, si je le déplace à côté de 'RobotsTxtMiddleware' ça fonctionne.

"user", qui apparaît dans les logs de niveau DEBUG, n'apparaît pas dans les log de niveau supérieur (INFO, ERROR).
Dans ces niveaux, RequestContextFilter est exécuté 2 fois, avec à la seconde fois la variable user "délazifiée".

L'ajout du parseur DebugLog dans le premier patch, et le 3ème patch de la branche, c'est bien pour le point 4 ?
https://dev.entrouvert.org/issues/29149#note-25

#30

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

Nicolas Roche a écrit :

Le middleware 'InternalIPMiddleware' ne fonctionne toujours pas chez moi.
Cf https://dev.entrouvert.org/issues/29149#note-20, si je le déplace à côté de 'RobotsTxtMiddleware' ça fonctionne.

J'avais oublié, c'est fait, branche à jour.

"user", qui apparaît dans les logs de niveau DEBUG, n'apparaît pas dans les log de niveau supérieur (INFO, ERROR).
Dans ces niveaux, RequestContextFilter est exécuté 2 fois, avec à la seconde fois la variable user "délazifiée".

J'ai sorti le filtre request_context des handlers pour le mettre au niveau du logger racine, il ne devrait s'exécuter qu'une fois désormais (mais ça rend un peu la configuration des handlers dépendant du logger) :

diff --git debian/debian_config_common.py debian/debian_config_common.py
index 553a1b6..6f0dcae 100644
--- debian/debian_config_common.py
+++ debian/debian_config_common.py
@@ -90,7 +90,6 @@ LOGGING = {
             'address': '/dev/log',
             'class': 'logging.handlers.SysLogHandler',
             'formatter': 'syslog',
-            'filters': ['request_context'],
         },
         'syslog_no_filter': {
             'level': 'INFO',
@@ -111,7 +110,7 @@ LOGGING = {
             'when': 'midnight',
             'backupCount': 1,
             'interval': 1,
-            'filters': ['request_context', 'debug_log'],
+            'filters': ['debug_log'],
         }
     },
     'loggers': {
@@ -169,6 +168,7 @@ LOGGING = {
         },
         '': {
             'level': 'DEBUG',
+            'filters': ['request_context'],
             'handlers': ['syslog', 'mail_admins', 'debug'],
         },
     },

L'ajout du parseur DebugLog dans le premier patch, et le 3ème patch de la branche, c'est bien pour le point 4 ?
https://dev.entrouvert.org/issues/29149#note-25

Dans le patch 0001 c'est surtout pour pouvoir faire des tests qui justifient mon format de log ; le 0003 c'est un goodies si on voulait afficher tout ça quelque part; ça peut ne pas être commité pour le faire correctement plus tard.

Je viens de rajouter un commit pour déprécier SettingsLogLevel, tant qu'à faire retirons du code.

#31

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

Encore un nouveau commit pour prévenir plusieurs exécutions de RequestContextFilter, et je l'ai remis dans la configuration des handlers parce qu'à cause de leur chaîne de formatage ils en sont fortement dépendant.

#32

Mis à jour par Nicolas Roche il y a presque 4 ans

Je n'ai pas réussi à exploiter la vue DebugLogView dans les briques, parce que settings.INTERNAL_IPS ne renvoit rien,
mais sinon j'ai relu.

#33

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

Nicolas Roche a écrit :

Je n'ai pas réussi à exploiter la vue DebugLogView dans les briques, parce que settings.INTERNAL_IPS ne renvoit rien,
mais sinon j'ai relu.

Je vais virer DebugLogView et en faire un ticket à part; mais settings.INTERNAL_IPS qui ne renvoie rien, que veux-tu dire par là ?

PS: DebugLogView retiré sur la branche.

#34

Mis à jour par Nicolas Roche il y a presque 4 ans

Je n'ai pas réussi à exploiter la vue DebugLogView dans les briques

Suite à un second essai, je constate qu'en fait ça fonctionne très bien.
Pour info, j'ai copié le template donné en exemple dans combo/public/templates/debug_log.html et j'ai modifié combo/urls.py :

from hobo.logger import DebugLogView
...
urlpatterns = [
    ...
    url(r'^log/$', DebugLogView.as_view(template_name='debug_log.html', paginate=10)),
]

#36

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

#37

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

  • Assigné à changé de Benjamin Dauvergne à Christophe Siraut
#38

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

j'ai lu et testé, ça me semble ok, il y a encore des bouts que je n'ai pas compris, je validerais demain une fois ceux-ci investigués.

dans a41ccf5 il y a ce commentaire en trop :

+ # add space after newlines to reconstruct message when reading
+ # debug.log

je ne comprends pas encore 'request_context' et ff72e25.

#39

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

Peux-tu m'expliquer ce bout, quand/comment est-ce que RequestContextFilter est appellé plusieurs fois?

+        # prevent multiple execution on the same record
+        if getattr(record, 'request_context', False):
+            return True

Par ailleurs, pour être certain que je comprends bien :

  • les fichiers debug contiennent les logs de niveau debug et au dessus? * InternalIPMiddleware active DEBUG quand l'adresse IP est listée dans internal_ips, même quand la boîte debug_log est décochée?
#40

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

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

Ack, mais vérifie ma remarque sur le commentaire en trop, 29149#note-38.

Je me réponds :

  • les fichiers debug contiennent les logs de niveau debug et au dessus?

oui.

  • InternalIPMiddleware active settings.DEBUG quand l'adresse IP est listée dans internal_ips, même quand la boîte debug_log est décochée?

oui.

#41

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

Christophe Siraut a écrit :

Peux-tu m'expliquer ce bout, quand/comment est-ce que RequestContextFilter est appellé plusieurs fois?

[...]

Si c'est mal configuré, par exemple si le filtre est posé à la fois sur le logger et le handler.

Par ailleurs, pour être certain que je comprends bien :

  • les fichiers debug contiennent les logs de niveau debug et au dessus?

Oui.

  • InternalIPMiddleware active DEBUG quand l'adresse IP est listée dans internal_ips, même quand la boîte debug_log est décochée?

Oui ça n'a rien à voir en fait, ça active l'affichage des traces dans le navigateur. ça s'est retrouvé dans le même ticket pare que j'avais fait tout ça dans un même élan avec l'interface de gestion des options de debug dans hobo. On peut en faire un autre ticket ou le garder là, c'est la suite de #29240.

#42

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

  • Statut changé de Solution validée à Résolu (à déployer)
commit 39241002aff5986d19436cc0c03924b1fa3aca3d
Author: Benjamin Dauvergne <bdauvergne@entrouvert.com>
Date:   Fri Aug 21 18:33:30 2020 +0200

    debian: set journald log level to INFO (#29149)

    DEBUG logs must go to a local file now.

commit 8c664bc035f85a49e715cc14eb131a1ac333bcaa
Author: Benjamin Dauvergne <bdauvergne@entrouvert.com>
Date:   Sun Apr 26 11:04:00 2020 +0200

    logger: prevent RequestContextFilter multiple execution (#29149)

commit 050dbcb9213887190d3df7d15e4ec283d10538aa
Author: Benjamin Dauvergne <bdauvergne@entrouvert.com>
Date:   Sun Apr 26 10:53:41 2020 +0200

    logger: deprecate SettingsLogLevel (#29149)

commit e1647d8f56f4949f91e9c925948a0ff92976c9a4
Author: Benjamin Dauvergne <bdauvergne@entrouvert.com>
Date:   Thu May 16 17:43:44 2019 +0200

    debian: add InternalIpMiddleware (#29149)

    It sets DEBUG=True when current request IP is in settings.INTERNAL_IPS.

commit afe4b98f64e1da9d99a99dfea9ce682023b417b1
Author: Benjamin Dauvergne <bdauvergne@entrouvert.com>
Date:   Thu May 16 17:42:38 2019 +0200

    debian: add debug log in /var/log/<app>/debug (#29149)

    It's configured through the DEBUG_LOG settings:
    * DEBUG_LOG = False, no debug log
    * DEBUG_LOG = True, all debug log go to /var/log/<app>/debug
    * DEBUG_LOG = app1,app2, only debug log of logger app1 and app2
      go to /var/log/<app>/debug

    /var/log/<app>/debug is emptied everyday at midnight.
#43

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

Faut pas pousser ça la semaine de mise en prod :/

#44

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

Et encore moins tagguer derrière.

#45

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

On est mardi, 2j ça suffit largement à tester ça en recette, sachant que le code a été relu 100 fois.

PS: et des trucs on été taggé hier donc je ne comprends pas la différence.

#46

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

On est mardi, 2j ça suffit largement à tester ça en recette, sachant que le code a été relu 100 fois.

Mais le code n'est pas encore en recette, parce que pousser/tagguer/oublier merci. Résultat je dois m'en préoccuper et j'avais peut-être autre chose de prévu. Et l'idée est d'avoir un principe simple qui évite comme ça des après-midis où je dois chasser les possibles bugs, pas un principe sur mesure "le code a vraiment bien été relu, tapons ça à l'arrache".

PS: et des trucs on été taggé hier donc je ne comprends pas la différence.

La question n'est pas de tagger mais d'ajouter des nouvelles fonctionnalités; les trucs limite c'est #24397 et #41792, côté authentic, qui avaient été poussés et où il a bien fallu que je passe derrière pour traduire/déployer.

Et in fine, je fais tout ce taf de préparation des mises à jour, j'y ai besoin de structure, c'est tout à fait pénible que tu t'en contrefiches.

#47

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