Express 文檔(調試)

調試Express

Express在內部使用debug模塊來記錄有關路由匹配、正在使用的中間件函數、應用程序模式以及請求—響應週期流的信息。node

debug就像是 console.log的加強版本,但與 console.log不一樣,你沒必要在生產代碼中註釋掉debug日誌,默認狀況下,日誌記錄處於關閉狀態,能夠使用 DEBUG環境變量有條件地打開日誌記錄。

要查看Express中使用的全部內部日誌,請在啓動應用程序時將DEBUG環境變量設置爲express:*express

$ DEBUG=express:* node index.js

在Windows上,使用相應的命令。npm

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

express生成器生成的默認應用程序上運行此命令將打印如下輸出:json

$ 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

當對應用程序發出請求時,你將看到Express代碼中指定的日誌:segmentfault

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

要僅從路由器實現中查看日誌,請將DEBUG的值設置爲express:router,一樣,要僅查看來自應用程序實現的日誌,請將DEBUG的值設置爲express:application,依此類推。cookie

express生成的應用程序

express命令生成的應用程序也使用debug模塊,其debug的命名空間的範圍限定爲應用程序的名稱。app

例如,若是你使用$ express sample-app生成應用程序,則能夠使用如下命令啓用調試語句:函數

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

你能夠經過分配以逗號分隔的名稱列表來指定多個調試命名空間:url

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

有關調試的更多信息,請參閱debugspa


上一篇:錯誤處理

下一篇:在代理後面運行Express

相關文章
相關標籤/搜索