2012-06-11 9 views
5

Esto es lo que probé. En mi archivo view.py,¿Por qué el registro no funciona en el sitio web de django?

import logging 
logger = logging.getLogger("mylog") 
logging.basicConfig(format='%(name)s:%(levelname)s:%(message)s',level=logging.INFO,datefmt='%d/%m/%y %I:%M:%S') 

A continuación, dentro de una función,

logger.debug("this is an error") 
logger.warning("This is a warning") 
print "This is a test line ' 

No he tocado los archivos .Su settings.py o menos lo mismo.

LOGGING = { 

    'version': 1, 

    'disable_existing_loggers': False, 

    'handlers': { 

     'mail_admins': { 

      'level': 'ERROR', 

      'class': 'django.utils.log.AdminEmailHandler' 

     } 

    }, 

    'loggers': { 

     'django.request': { 

      'handlers': ['mail_admins'], 

      'level': 'ERROR', 

      'propagate': True, 

     }, 

    } 

Cuando ejecuto el servidor y llamo a la función, no pasa nada. no hay error, nada.

Solo quiero ver una línea de registro en la consola.

+2

Su configuración tiene 'nivel': 'ERROR', y está llamando a logging.warning() y logging.debug() ... por lo que se supone que no debe hacer nada. – jpic

Respuesta

10

Trate de añadir esto a los manipuladores:

'console':{ 
      'level':'DEBUG', 
      'class':'logging.StreamHandler', 
      'formatter': 'simple' 
      } 

y madereros:

'django': { 
     'handlers':['console'], 
     'propagate': True, 
     'level':'INFO', 
    }, 

El nivel de registro puede ser el mismo o diferente - De hecho, el controlador define el nivel mínimo se registrará, mientras que el registrador define el nivel mínimo que enviará al controlador. Si un manejador es utilizado por dos o más registradores, idealmente debería tener el nivel más bajo de ambos registradores.

EDIT: Gracias a @jpic para señalar la sección de registradores.

+0

¿No necesitaría también un registrador que utilice este controlador? – jpic

+0

@jpic: Gracias por recordar en el registrador, he editado el texto. – Tisho

+0

Gracias a todos. La información fue muy útil. Sin embargo, encontré el error que debido a ninguno de estos factores. Tenía otro archivo de configuración local_setting.py en mi carpeta 'conf'. Hubo otra configuración de registro declarada. Comenté esas líneas y para mi sorpresa, todo comenzó a funcionar (con todas las configuraciones y el código en el archivo de vista sin cambios). Creo que hay algún tipo de conflicto debido a la declaración múltiple de las configuraciones de registro –

Cuestiones relacionadas