[英]Joi doesn't write validation errors to log
我正在使用 Joi 進行輸入驗證。 我對來自 Joi 的錯誤響應很滿意,但我想將其打印到日志中。 我知道在“選項”部分處理故障的選項,例如:
options: {
response: {
failAction: async (req, h, err) => {
if(err) {
console.log(`Server error: ${err}`)
}
}
}
}
但由於我有很多 API,我不想為每個 API 添加一個處理程序。 每當驗證失敗時,我都會搜索來自 Joi 框架的日志。
Joi 版本:17.1.1
最后通過在我的 server.js 文件中添加以下代碼成功:
server.events.on('response', function (request) {
if (request.response !== undefined && request.response.source !== undefined && request.response.source.validation !== undefined &&
request.response.source.validation.source === "payload") {
logger.error(request.response.source.validation);
}
});
if 語句只需要處理 Joi 驗證錯誤,而不是打印所有響應錯誤。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.