Esta traducción proporcionada por StrongLoop / IBM.

Este documento puede estar desfasado respecto a la documentación en inglés. Para ver las últimas actualizaciones, consulte la documentación en inglés.

Depuración de Express

Express utiliza el módulo debug internamente para registrar información sobre las coincidencias de rutas, las funciones de middleware que se están utilizando, la modalidad de aplicación y el flujo del ciclo de solicitud/respuestas.

debug es como una versión aumentada de console.log, aunque a diferencia de console.log, no tiene que comentar los registros debug en el código de producción. El registro está desactivado de forma predeterminada y puede activarse condicionalmente utilizando la variable de entorno DEBUG.

Para ver todos los registros internos utilizados en Express, establezca la variable de entorno DEBUG en express:* cuando inicie la aplicación.


$ DEBUG=express:* node index.js

En Windows, utilice el mandato correspondiente.


> set DEBUG=express:* & node index.js

La ejecución de este mandato en la aplicación predeterminada generada por el generador de Express imprime la siguiente salida:


$ DEBUG=express:* node ./bin/www
  express:router:route new / +0ms
  express:router:layer new / +1ms
  express:router:route get / +1ms
  express:router:layer new / +0ms
  express:router:route new / +1ms
  express:router:layer new / +0ms
  express:router:route get / +0ms
  express:router:layer new / +0ms
  express:application compile etag weak +1ms
  express:application compile query parser extended +0ms
  express:application compile trust proxy false +0ms
  express:application booting in development mode +1ms
  express:router use / query +0ms
  express:router:layer new / +0ms
  express:router use / expressInit +0ms
  express:router:layer new / +0ms
  express:router use / favicon +1ms
  express:router:layer new / +0ms
  express:router use / logger +0ms
  express:router:layer new / +0ms
  express:router use / jsonParser +0ms
  express:router:layer new / +1ms
  express:router use / urlencodedParser +0ms
  express:router:layer new / +0ms
  express:router use / cookieParser +0ms
  express:router:layer new / +0ms
  express:router use / stylus +90ms
  express:router:layer new / +0ms
  express:router use / serveStatic +0ms
  express:router:layer new / +0ms
  express:router use / router +0ms
  express:router:layer new / +1ms
  express:router use /users router +0ms
  express:router:layer new /users +0ms
  express:router use / <anonymous> +0ms
  express:router:layer new / +0ms
  express:router use / <anonymous> +0ms
  express:router:layer new / +0ms
  express:router use / <anonymous> +0ms
  express:router:layer new / +0ms

Cuando se realiza una solicitud a la aplicación, verá los registros especificados en el código de Express:


  express:router dispatching GET / +4h
  express:router query  : / +2ms
  express:router expressInit  : / +0ms
  express:router favicon  : / +0ms
  express:router logger  : / +1ms
  express:router jsonParser  : / +0ms
  express:router urlencodedParser  : / +1ms
  express:router cookieParser  : / +0ms
  express:router stylus  : / +0ms
  express:router serveStatic  : / +2ms
  express:router router  : / +2ms
  express:router dispatching GET / +1ms
  express:view lookup "index.jade" +338ms
  express:view stat "/projects/example/views/index.jade" +0ms
  express:view render "/projects/example/views/index.jade" +1ms

Para ver sólo los registros de la implementación de direccionador, establezca el valor de DEBUG en express:router. De la misma forma, para ver sólo los registros de la implementación de aplicación, establezca el valor de DEBUG en express:application, etc.

Aplicaciones generadas por express

Una aplicación generada por el mandato express también utiliza el módulo debug, y el ámbito de su espacio de nombres de depuración se establece en el nombre de la aplicación.

Por ejemplo, si ha generado la aplicación con $ express sample-app, puede habilitar las sentencias de depuración con el siguiente mandato:


$ DEBUG=sample-app node ./bin/www

Puede especificar más de un espacio de nombres de depuración asignando una lista separada por comas de nombres:


$ DEBUG=http,mail,express:* node index.js

Para obtener más información sobre debug, consulte debug.