Debugging bei Express
Wenn Sie alle in Express verwendeten internen Protokolle anzeigen wollen, legen Sie beim Starten Ihrer Anwendung die Umgebungsvariable DEBUG
auf express:*
fest.
$ DEBUG=express:* node index.js
Verwenden Sie unter Windows den entsprechenden Befehl.
> $env:DEBUG = "express:*"; node index.js
Die Ausführung dieses Befehls für die durch express generator generierte Standardanwendung resultiert in folgender Ausgabe:
$ 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
Bei einer Anforderung an die Anwendung sind die Protokolle im Express-Code angegeben:
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.pug" +338ms
express:view stat "/projects/example/views/index.pug" +0ms
express:view render "/projects/example/views/index.pug" +1ms
Wenn Sie nur die Protokolle von der Routerimplementierung sehen wollen, legen Sie den Wert für DEBUG
auf express:router
fest. Gleichermaßen gilt: Wenn Sie nur die Protokolle von der Anwendungsimplementierung sehen wollen, legen Sie den Wert für DEBUG
auf express:application
fest, usw.
Von express
generierte Anwendungen
An application generated by the express
command uses the debug
module and its debug namespace is scoped to the name of the application.
Beispiel: Wenn Sie die Anwendung mit $ express sample-app
generiert haben, können Sie die Debuganweisungen mit dem folgenden Befehl aktivieren:
$ DEBUG=sample-app:* node ./bin/www
Sie können mehrere Debug-Namespaces in einer durch Kommas getrennten Namensliste angeben:
$ DEBUG=http,mail,express:* node index.js
Advanced options
When running through Node.js, you can set a few environment variables that will change the behavior of the debug logging:
Name | Purpose |
---|---|
DEBUG |
Enables/disables specific debugging namespaces. |
DEBUG_COLORS |
Whether or not to use colors in the debug output. |
DEBUG_DEPTH |
Object inspection depth. |
DEBUG_FD |
File descriptor to write debug output to. |
DEBUG_SHOW_HIDDEN |
Shows hidden properties on inspected objects. |
Note
The environment variables beginning with DEBUG_
end up being
converted into an Options object that gets used with %o
/%O
formatters.
See the Node.js documentation for
util.inspect()
for the complete list.