我最近将 Winston 添加到我的 nodejs 后端并将它与 morgan 结合起来记录每个 API 调用。但是我错过了 bytesize 属性,它让我知道每个响应大小只使用 morgan 有多大。它可以让我更全面地了解哪个 API 获取了太多数据。任何帮助都会很棒:)
仅摩根 api 示例
GET /v1/users/notifications/5cb5ce7297fc767b4cdf667b?role=user&type=HUBFE&page_size=10&page_num=1 200 - 3252 - 25.553 ms
现在用winston实现
info: ::ffff:192.168.0.166 - - [02/Jul/2019:08:09:50 +0000] "GET /v1/searches/nearby?page_size=4&page_num=1 HTTP/1.1" 304 - "http://localhost:8100/" "Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1"
{"timestamp":"2019-07-02 04:09:50 pm"}
我像这样在我的 app.js 文件中结合摩根和温斯顿
app.use(morgan('combined', {
stream: winston.stream
}));