Projet

Général

Profil

Bug #4034

Rendre raven optionnel

Ajouté par Mikaël Ates il y a plus de 10 ans. Mis à jour il y a plus de 10 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Jérôme Schneider
Version cible:
-
Début:
02 décembre 2013
Echéance:
% réalisé:

100%

Temps estimé:
Patch proposed:
Planning:

Description

Cela reste une question.
Proposition pour le settings :

diff --git a/calebasse/settings/common.py b/calebasse/settings/common.py
index 20c4da7..ef94d91 100644
--- a/calebasse/settings/common.py
+++ b/calebasse/settings/common.py
@@ -164,7 +164,6 @@ INSTALLED_APPS = (
     'calebasse.statistics',
     'calebasse.middleware.request',
     'south',
-    'raven.contrib.django.raven_compat'
 )

 INTERNAL_IPS=('127.0.0.1',)
@@ -213,10 +212,6 @@ LOGGING = {
             'address': '/dev/log',
             'max_length': 999,
         },
-        'sentry': {
-            'level': 'ERROR',
-            'class': 'raven.contrib.django.raven_compat.handlers.SentryHandler',
-        },
     },
     'loggers': {
         'django.db.backends': {
@@ -224,18 +219,13 @@ LOGGING = {
             'handlers': ['console'],
             'propagate': False,
         },
-        'raven': {
-            'level': 'DEBUG',
-            'handlers': ['console'],
-            'propagate': False,
-        },
         'sentry.errors': {
             'level': 'DEBUG',
             'handlers': ['console'],
             'propagate': False,
         },
         '': {
-            'handlers': ['sentry', 'syslog'],
+            'handlers': ['syslog'],
             'level': 'DEBUG' if DEBUG else 'INFO',
             'propagate': True,
         }
@@ -258,11 +248,26 @@ AJAX_LOOKUP_CHANNELS = {
 # Default URL after login
 LOGIN_REDIRECT_URL = '/'

-# Sentry / raven configuration
-# You need to overload this option in the local_settings.py
-RAVEN_CONFIG = {
-        'dsn': None,
-}
+try:
+    import raven
+    INSTALLED_APPS += ('raven.contrib.django.raven_compat', )
+    LOGGING['handlers']['sentry'] = {
+            'level': 'ERROR',
+            'class': 'raven.contrib.django.raven_compat.handlers.SentryHandler',
+        }
+    LOGGING['loggers']['raven'] = {
+            'level': 'DEBUG',
+            'handlers': ['console'],
+            'propagate': False,
+        }
+    LOGGING['loggers']['']['handlers'].append('sentry')
+    # Sentry / raven configuration
+    # You need to overload this option in the local_settings.py
+    RAVEN_CONFIG = {
+            'dsn': None,
+    }
+except:
+    pass

Révisions associées

Révision d02ed08a (diff)
Ajouté par Jérôme Schneider il y a plus de 10 ans

settings: render raven optionnal

Closes #4034

Historique

#1

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

Comme le local_settings.py devra de toute façon définir le RAVEN_CONFIG, pourquoi ne pas simplement, après le chargement de celui-ci, si RAVEN_CONFIG est défini, faire les changements (INSTALLED_APPS, LOGGING) mentionnés ici ?

#2

Mis à jour par Mikaël Ates il y a plus de 10 ans

  • Description mis à jour (diff)
#3

Mis à jour par Jérôme Schneider il y a plus de 10 ans

Je me demande si c'est vraiment pertinent de mettre raven comme une dépendance optionnelle. D'une part car on devrait installer Calebasse avec raven dans la plupart des cas et d'autre part car python-entrouvert dépend également de raven.
Je tiens à préciser que si on laisse RAVEN_CONFIG avec un dsn à None ou qu'on le commente raven n'est pas utilisé. La seule contrainte de laisser la solution actuelle c'est de devoir installer raven mais vu qu'on dépend de python-entrouvert qui en dépend également ça ne changera rien.
Si tu y tiens je remplacerais juste le except par un except ImportError.

Quand à la remarque de Fred je ne suis pas sur que j'ai envie de me retrouver avec INSTALLED_APPS et LOGGING dans le local_settings sachant que le but est de remplacer le local_settings par un fichier de configuration à base de variables d’environnement.

Edit : j'ai rêvé pour python-entrouvert je fais une proposition de patch

#4

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

Quand à la remarque de Fred je ne suis pas sur que j'ai envie de me retrouver avec INSTALLED_APPS et LOGGING dans le local_settings sachant que le but est de remplacer le local_settings par un fichier de configuration à base de variables d’environnement.

Il s'agissait pour moi de faire les modifications dans le settings.py, après l'import du local_settings.py, quand celui-ci définit RAVEN_CONFIG.

#5

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

Quant à python-entrouvert, ce devrait être pour moi un module uniquement nécessaire et spécifique à nos déploiements, comme il a été créé pour le VersionsMiddleware, et non pas une collection variée d'éléments recyclables.

#6

Mis à jour par Jérôme Schneider il y a plus de 10 ans

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

Quant à python-entrouvert, ce devrait être pour moi un module uniquement nécessaire et spécifique à nos déploiements, comme il a été créé pour le VersionsMiddleware, et non pas une collection variée d'éléments recyclables.

Comme dit dans mon "edit" python-entrouvert ne dépend pas de raven c'est moi qui ait rêvé.

#7

Mis à jour par Jérôme Schneider il y a plus de 10 ans

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

Quand à la remarque de Fred je ne suis pas sur que j'ai envie de me retrouver avec INSTALLED_APPS et LOGGING dans le local_settings sachant que le but est de remplacer le local_settings par un fichier de configuration à base de variables d’environnement.

Il s'agissait pour moi de faire les modifications dans le settings.py, après l'import du local_settings.py, quand celui-ci définit RAVEN_CONFIG.

J'avais mal saisi ton message, effectivement c'est une bonne solution. Je vais proposer un patch.

#8

Mis à jour par Jérôme Schneider il y a plus de 10 ans

  • Statut changé de Nouveau à En cours
#9

Mis à jour par Jérôme Schneider il y a plus de 10 ans

  • Statut changé de En cours à Résolu (à déployer)
  • % réalisé changé de 0 à 100

Appliqué par commit calebasse|commit:d02ed08a261ba798f6cd53ecc4b9695940a9aac1.

#10

Mis à jour par Jérôme Schneider il y a plus de 10 ans

Appliqué par commit aps42:calebasse|commit:d02ed08a261ba798f6cd53ecc4b9695940a9aac1.

#11

Mis à jour par Mikaël Ates il y a plus de 10 ans

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

Formats disponibles : Atom PDF