En Odoo, el nivel de depuración (debug) se configura en el archivo de configuración (odoo.conf) mediante la opción log_level. Los niveles de debug permiten controlar la cantidad de información que se registra en los logs, desde mensajes críticos hasta trazas muy detalladas para desarrolladores.
📌 Configuración en odoo.conf
En tu archivo de configuración (odoo.conf), puedes añadir o modificar la línea:
[options]
log_level = debug
Los valores posibles para log_level son:
- critical → Solo errores críticos que pueden detener el sistema.
- error → Errores importantes que requieren atención.
- warning → Advertencias sobre situaciones que podrían causar problemas.
- info → Información general sobre el funcionamiento del sistema.
- debug → Mensajes detallados de depuración, útiles para desarrolladores.
- debug_sql → Incluye las consultas SQL ejecutadas.
- debug_rpc → Registra llamadas RPC (Remote Procedure Call).
- debug_rpc_answer → Incluye las respuestas de las llamadas RPC.
- debug_tests → Información detallada durante la ejecución de pruebas.
- debug_coop → Depuración de cooperaciones internas (menos usado).
🎯 Función de cada nivel
- critical/error → Para producción, muestran solo fallos graves.
- warning/info → Útiles en entornos de staging o pruebas, muestran advertencias y eventos importantes.
- debug → Para desarrollo, muestra trazas completas de ejecución.
- debug_sql → Ideal cuando necesitas analizar consultas lentas o problemas de base de datos.
- debug_rpc / debug_rpc_answer → Útiles para depurar integraciones externas vía API.
- debug_tests → Se usa al ejecutar pruebas unitarias o de integración.
🔎 Ejemplo práctico
Si quieres depurar problemas de base de datos en tu entorno de desarrollo, podrías configurar:
log_level = debug_sql
Esto hará que en los logs aparezcan todas las consultas SQL ejecutadas por Odoo, lo cual es muy útil para detectar cuellos de botella o errores en dominios y filtros.
⚠️ Recomendaciones
- Producción: usa
infoowarningpara evitar sobrecarga en los logs. - Desarrollo: usa
debug,debug_sqlodebug_rpcsegún lo que quieras analizar. - Pruebas:
debug_testspara obtener trazas completas de ejecución.
En resumen, los niveles de debug en Odoo permiten ajustar la granularidad de los logs según el contexto (producción, pruebas, desarrollo), y se configuran fácilmente en el archivo odoo.conf con la opción log_level. Odoo YouTube
Perfecto, vamos a combinar varios niveles de log en Odoo para un entorno de desarrollo.
En el archivo odoo.conf puedes especificar un solo nivel de log, pero si quieres ver trazas de SQL y RPC al mismo tiempo, lo que se hace es elegir el nivel más detallado que los incluya. Por ejemplo:
[options]
log_level = debug
Esto mostrará todo: mensajes generales, SQL, RPC, pruebas, etc.
Si quieres ser más específico y solo ver SQL, puedes usar:
log_level = debug_sql
Y si lo que necesitas es depurar integraciones externas vía API, entonces:
log_level = debug_rpc
🔧 Estrategia práctica
- Desarrollo general:
debug→ ves absolutamente todo. - Optimización de base de datos:
debug_sql→ consultas SQL detalladas. - Depuración de integraciones:
debug_rpcodebug_rpc_answer→ llamadas y respuestas RPC. - Pruebas automatizadas:
debug_tests.
No se pueden combinar varios valores en la misma línea (log_level acepta solo uno), pero puedes cambiarlo según lo que estés analizando en ese momento. Otra opción es lanzar Odoo con parámetros en la línea de comandos, por ejemplo:
odoo-bin -c /etc/odoo/odoo.conf --log-level=debug_sql
👉 En resumen: elige el nivel de log según lo que quieras depurar. Para tener trazas SQL y RPC en paralelo, lo más práctico es usar debug porque incluye todo.