2011-07-17 10 views
6

La configuración de registro My Django 1.3 causa que todos los mensajes de registro se envíen dos veces. He leído que la importación de settings.py dos o más veces ha causado este problema en el pasado, pero Django 1.3 tiene nuevas funciones de registro, y no creo que esté importando settings.py dos veces en cualquier lugar.¿Por qué mi configuración de registro de Django 1.3 causa que todos los mensajes se envíen dos veces?

config settings.py:

LOGGING = { 
    'version': 1, 
    'disable_existing_loggers': False, 
    'formatters': { 
     'simple': { 
      'format': '%(levelname)s: %(message)s' 
     }, 
    }, 
    'handlers': { 
     'console': { 
      'level': 'DEBUG', 
      'class': 'logging.StreamHandler', 
      'formatter': 'simple', 
     }, 
    }, 
    'loggers': { 
     'custom': { 
      'handlers': ['console'], 
      'level': 'DEBUG', 
     }, 
    } 
} 

Código:

import logging 
log = logging.getLogger('custom') 

log.debug('message1') 
log.debug('message2') 

Salida:

DEBUG: message1 
DEBUG:custom:message1 

Gracias por su ayuda.

Respuesta

6

¿Has probado configurar propagate = False? Junto con disable_existing_loggers = ¿Verdadero?

LOGGING = { 
    'version': 1, 
    'disable_existing_loggers': True, 
    'formatters': { 
     'simple': { 
      'format': '%(levelname)s: %(message)s' 
     }, 
    }, 
    'handlers': { 
     'console': { 
      'level': 'DEBUG', 
      'class': 'logging.StreamHandler', 
      'formatter': 'simple', 
     }, 
    }, 
    'loggers': { 
     'custom': { 
      'handlers': ['console'], 
      'level': 'DEBUG', 
      'propagate': False, 
     }, 
    } 
} 
+2

'propagar': falso trabajado sin cambiar disable_existing_loggers, gracias. – mpso

0

Es posible que desee probar 'disable_existing_loggers': ¿Es cierto?

+1

Lo intenté en ambos sentidos, pero el resultado siempre es el mismo. – mpso

Cuestiones relacionadas