簡體   English   中英

Joi 不會將驗證錯誤寫入日志

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM