?
This document uses PHP Chinese website manual Release
Express在內(nèi)部使用調(diào)試模塊記錄有關(guān)路由匹配,正在使用的中間件功能,應(yīng)用程序模式以及請求 - 響應(yīng)周期流的信息。
debug
就像增強(qiáng)版本console.log
,但不像console.log
你不必編寫debug
代碼中注釋日志。日志記錄默認(rèn)情況下處于關(guān)閉狀態(tài),可以通過使用DEBUG
環(huán)境變量有條件地啟用。
要查看Express中使用的所有內(nèi)部日志,請?jiān)趩?dòng)應(yīng)用程序時(shí)將DEBUG
環(huán)境變量設(shè)置為express:*
。
$ DEBUG=express:* node index.js
在Windows上,使用相應(yīng)的命令。
> set DEBUG=express:* & node index.js
在由express生成器生成的默認(rèn)應(yīng)用程序上運(yùn)行此命令會(huì)打印以下輸出:
$ 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
當(dāng)向應(yīng)用程序發(fā)出請求時(shí),您將看到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.pug" +338ms express:view stat "/projects/example/views/index.pug" +0ms express:view render "/projects/example/views/index.pug" +1ms
僅查看來自路由器實(shí)施的日志,請將DEBUG
值設(shè)置為express:router
。同樣,要僅從應(yīng)用程序?qū)崿F(xiàn)中查看日志,請將DEBUG
值設(shè)置為express:application
,等等。
express
生成的應(yīng)用程序由express
命令生成的應(yīng)用程序也使用debug
模塊,其調(diào)試名稱空間的作用域?yàn)閼?yīng)用程序的名稱。
例如,如果您生成了應(yīng)用程序$ express sample-app
,則可以使用以下命令啟用調(diào)試語句:
$ DEBUG=sample-app node ./bin/www
您可以通過指定逗號(hào)分隔的名稱列表來指定多個(gè)調(diào)試名稱空間:
$ DEBUG=http,mail,express:* node index.js
有關(guān)更多信息debug
,請參閱調(diào)試。