Me gustaría imprimir mensajes de depuración en mi aplicación django en diferentes puntos de una función de vista. Los documentos para el django-debug-toolbar dicen que usa la compilación en el registro de Python, pero no puedo encontrar más información que eso. Realmente no quiero iniciar sesión en un archivo sino en el panel de información en la barra de herramientas. ¿Como funciona esto?¿Cómo uso el registro en la barra de herramientas de depuración Django?
Respuesta
Simplemente utiliza los métodos logging module y DjDT los interceptará y mostrará en el Panel de registro.
import logging
logging.debug('Debug Message')
if some_error:
logging.error('Error Message')
La conexión directa al registrador de raíz, como se menciona en @ jonwd7, por lo general no se recomienda. En general estoy siguiendo este patrón:
import logging
logger = logging.getLogger(__name__)
del logging # To prevent accidentally using it
...
logger.debug("Some message")
Esto le permite tener mucho grano más fino control sobre los mensajes de registro hacen y no muestran. Desafortunadamente, al utilizarlo de esta forma, la barra de herramientas de depuración de django no capturará ningún mensaje de registro a menos que especifique una configuración de registro específica. Aquí es la más simple que podía llegar a:
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'incremental': True,
'root': {
'level': 'DEBUG',
},
}
Configuración "disable_existing_loggers" "incrementales" y son importantes por lo que no está deshabilitando el manejador de la barra de herramientas adjunto al registrador de la raíz. Todo lo que quiere hacer es establecer el nivel de registro del registrador de raíz en "DEPURAR". También puede usar la entrada "registradores" para establecer niveles para registradores específicos. Simplemente omita la sección "Controladores" y configure "propagar": Verdadero para que sean capturados por el manejador DjDT.
Si tiene una configuración de REGISTRO existente, y no quiere estropearla cambiando a 'incremental', necesitará volver a agregar el registro de DjDT como controlador y luego agregarlo al lista de controladores de root logger.
from debug_toolbar.panels.logging import collector # needed for handler constructor below
LOGGING = {
# existing options, formatters, loggers, etc
handlers = {
# existing handlers
'djdt_log': {
'level': 'DEBUG',
'class': 'debug_toolbar.panels.logging.ThreadTrackingHandler',
'collector': collector,
},
},
'root': {
'level': 'DEBUG',
'handlers': ['djdt_log'],
},
}
Si hay una forma más clara de hacerlo, me encantaría verla.
- 1. ¿Cómo veo la barra de herramientas de depuración Django?
- 2. Configuración de la barra de herramientas de depuración de Django
- 3. Cómo deshabilitar el registro de depuración del sur en django?
- 4. ¿Qué herramientas de registro de depuración están disponibles desde Javascript?
- 5. Eliminar la barra de herramientas en GVim
- 6. Técnicas de depuración sin herramientas de depuración
- 7. barra de depuración para ASP.NET
- 8. herramientas de depuración Bluetooth
- 9. Herramientas para la depuración xslt
- 10. Cambiando el color de la barra de herramientas de MFMailComposeViewController
- 11. Herramientas Depuración de CSS en Internet Explorer
- 12. ReportViewer - ¿modifica la barra de herramientas?
- 13. ¿Cómo ocultar la barra de herramientas en Eclipse 4.2?
- 14. botones extjs en la apariencia de la barra de herramientas
- 15. SintaxisHighlighter no muestra la barra de herramientas
- 16. Barra desplegable de barra de herramientas haga clic en evento
- 17. Actividad de registro en el administrador de Django - Django
- 18. iOS: la barra de herramientas no muestra
- 19. Eclipse + Git - ¿Cómo obtener barra de herramientas?
- 20. iPhone: ocultar/mostrar la barra de herramientas
- 21. ¿Cómo agrego botones a la barra de herramientas de Eclipse?
- 22. Uso de la barra de herramientas de IE en una aplicación web emergente
- 23. Cómo personalizo la barra de herramientas de ckeditor
- 24. ¿Cómo activar/desactivar los elementos de la barra de herramientas?
- 25. ¿Cómo creo una barra de herramientas para la barra de tareas en Windows?
- 26. Cómo desactivar el registro de depuración de Spring 3?
- 27. Django-apio barra de progreso
- 28. Ocultar barra de herramientas en WPF FlowDocument
- 29. Personalización de elementos de la barra de herramientas en VS2010
- 30. Barra de herramientas personalizable en WPF
Gracias por entrar en detalles con el registrador de raíz. Esa es información que otras respuestas carecen. – jnns
la parte del montaje me ayudó, ¡gracias! Todavía un buen consejo en 2016 – Jeff