|
| 1 | +--- |
| 2 | +title: Debuggen Express |
| 3 | +description: Erfahren Sie, wie Sie Debugging-Logs in Express.js-Anwendungen aktivieren und nutzen können, indem Sie die DEBUG-Umgebungsvariable für verbesserte Fehlerbehebung setzen. |
| 4 | +--- |
| 5 | + |
| 6 | +import Alert from '@components/primitives/Alert/Alert.astro'; |
| 7 | + |
| 8 | +Um alle internen Logs zu sehen, die in Express verwendet werden, setzen Sie die Umgebungsvariable `DEBUG` auf |
| 9 | +`express:*` beim Starten Ihrer App. |
| 10 | + |
| 11 | +```bash |
| 12 | +$ DEBUG=Express:* node index.js |
| 13 | +``` |
| 14 | + |
| 15 | +Verwenden Sie unter Windows den entsprechenden Befehl. |
| 16 | + |
| 17 | +```bash |
| 18 | +> $env:DEBUG = "Express:*"; node index.js |
| 19 | +``` |
| 20 | + |
| 21 | +Das Ausführen dieses Befehls auf der vom [Express-Generator] generierten Standard-App (/en/starter/generator) gibt folgende Ausgabe aus: |
| 22 | + |
| 23 | +```bash |
| 24 | +$ DEBUG=express:* node ./bin/www |
| 25 | + express:router:route new / +0ms |
| 26 | + express:router:layer new / +1ms |
| 27 | + express:router:route get / +1ms |
| 28 | + express:router:layer new / +0ms |
| 29 | + express:router:route new / +1ms |
| 30 | + express:router:layer new / +0ms |
| 31 | + express:router:route get / +0ms |
| 32 | + express:router:layer new / +0ms |
| 33 | + express:application compile etag weak +1ms |
| 34 | + express:application compile query parser extended +0ms |
| 35 | + express:application compile trust proxy false +0ms |
| 36 | + express:application booting in development mode +1ms |
| 37 | + express:router use / query +0ms |
| 38 | + express:router:layer new / +0ms |
| 39 | + express:router use / expressInit +0ms |
| 40 | + express:router:layer new / +0ms |
| 41 | + express:router use / favicon +1ms |
| 42 | + express:router:layer new / +0ms |
| 43 | + express:router use / logger +0ms |
| 44 | + express:router:layer new / +0ms |
| 45 | + express:router use / jsonParser +0ms |
| 46 | + express:router:layer new / +1ms |
| 47 | + express:router use / urlencodedParser +0ms |
| 48 | + express:router:layer new / +0ms |
| 49 | + express:router use / cookieParser +0ms |
| 50 | + express:router:layer new / +0ms |
| 51 | + express:router use / stylus +90ms |
| 52 | + express:router:layer new / +0ms |
| 53 | + express:router use / serveStatic +0ms |
| 54 | + express:router:layer new / +0ms |
| 55 | + express:router use / router +0ms |
| 56 | + express:router:layer new / +1ms |
| 57 | + express:router use /users router +0ms |
| 58 | + express:router:layer new /users +0ms |
| 59 | + express:router use / <anonymous> +0ms |
| 60 | + express:router:layer new / +0ms |
| 61 | + express:router use / <anonymous> +0ms |
| 62 | + express:router:layer new / +0ms |
| 63 | + express:router use / <anonymous> +0ms |
| 64 | + express:router:layer new / +0ms |
| 65 | +``` |
| 66 | + |
| 67 | +Wenn eine Anfrage an die App gestellt wird, sehen Sie die im Express-Code angegebenen Protokolle: |
| 68 | + |
| 69 | +```bash |
| 70 | + express :router dispatching GET / +4h |
| 71 | + express :router query : / +2ms |
| 72 | + express :router expresInit : / +0ms |
| 73 | + express:router favicon : / +0ms |
| 74 | + express :router logger : / +1ms |
| 75 | + express :router jsonParser : / +0ms |
| 76 | + express:router urlencodedParser : / +1ms |
| 77 | + express :router cookieParser : / +0ms |
| 78 | + express:router stylus : / +0ms |
| 79 | + express :router serveStatic : / +2ms |
| 80 | + express :router router router : / +2ms |
| 81 | + express:router dispatching GET / +1ms |
| 82 | + express:view lookup "index. ug" +338ms |
| 83 | + express:view stat "/projects/example/views/index.pug" +0ms |
| 84 | + express:view render "/projects/example/views/index.pug" +1ms |
| 85 | +``` |
| 86 | + |
| 87 | +Um die Protokolle nur von der Router-Implementierung zu sehen, setzen Sie den Wert `DEBUG` auf `express:router`. Um Protokolle nur von der Anwendungsimplementierung zu sehen, setzten Sie den Wert von `DEBUG` auf `express:application`, und so weiter. |
| 88 | + |
| 89 | +## Anwendungen generiert von `Express` |
| 90 | + |
| 91 | +Eine Anwendung, die durch den Befehl `express generiert` erzeugt wird, benutzt das Modul `debug` und sein Debug-Namensraum wird auf den Namen der Anwendung übertragen. |
| 92 | + |
| 93 | +Wenn Sie zum Beispiel die App mit `$ express Beispiel-App` erstellt haben, können Sie die Debug-Anweisungen mit folgendem Befehl aktivieren: |
| 94 | + |
| 95 | +```bash |
| 96 | +$ DEBUG=Beispiel-app:* Knoten ./bin/www |
| 97 | +``` |
| 98 | + |
| 99 | +Sie können mehr als einen Debug-Namensraum angeben, indem Sie eine kommaseparierte Namensliste zuweisen: |
| 100 | + |
| 101 | +```bash |
| 102 | +$ DEBUG=http,mail,Express:* node index.js |
| 103 | +``` |
| 104 | + |
| 105 | +## Erweiterte Optionen |
| 106 | + |
| 107 | +Wenn Sie über Node.js laufen, können Sie ein paar Umgebungsvariablen festlegen, die das Verhalten der Debug-Protokollierung ändern: |
| 108 | + |
| 109 | +| Name | Zweck | |
| 110 | +| ------------------- | --------------------------------------------------------------------------- | |
| 111 | +| `DEBUG` | Aktiviere/deaktiviert bestimmte Debugging-Namensräume. | |
| 112 | +| DEBUG_COLORS | Gibt an, ob Farben in der Debug-Ausgabe verwendet werden sollen oder nicht. | |
| 113 | +| DEBUG_DEPTH\` | Objektüberprüfungstiefe. | |
| 114 | +| `DEBUG_FD` | Datei-Deskriptor, in den die Debug-Ausgabe geschrieben wird. | |
| 115 | +| `DEBUG_SHOW_HIDDEN` | Zeigt versteckte Eigenschaften auf untersuchten Objekten. | |
| 116 | + |
| 117 | +<Alert type="info"> |
| 118 | + |
| 119 | +Die Umgebungsvariablen, die mit `DEBUG_` beginnen, werden am Ende in ein Optionsobjekt |
| 120 | +konvertiert, das mit `%o`/`%O` Formate verwendet wird. Siehe die Dokumentation von Node.js für |
| 121 | +[`util.inspect()`](https://nodejs.org/api/util#util_util_inspect_object_options) für die vollständige |
| 122 | +Liste. |
| 123 | + |
| 124 | +</Alert> |
0 commit comments