exception - 如何防止 Nest.js 将异常记录到控制台?
问题描述
背景
我们用于ApolloHandler
处理 Nest.js + GraphQL 应用程序中的异常。
问题
尽管ApolloHandler
设法创建了结构化的 GraphQL 错误响应,但每个异常(加上它的堆栈跟踪)也会生成一个控制台日志和一个记录器条目[ExceptionHandler]
,从而用数千个已管理的输入错误污染应用程序日志。
问题
如何设置 Nest.js 来抑制这些ApolloHandler
异常?当然,非ApolloHandler
异常应该保持记录。
解决方案
创建您自己的自定义记录器以过滤掉这些消息,例如:
export class AppLogger extends Logger {
error(message: string, trace: string, context?: string) {
if (message !== 'Validations failed!') {
super.error(message, trace, context)
}
}
}
并将其用作
app.useLogger(new AppLogger())
推荐阅读
- javascript - 如果在 javascript .replace 中使用,如何在 RegEx 中定位破折号或连字符?
- html - 用没有 ID 的元素预填充 html 表单
- python-3.x - 跨共享内存在 Gstreamer 管道中同步或映射帧
- azure - 在 Bot Framework c# 中从 SharePoint 获取当前登录用户
- javascript - 在 AR.js 中显示到标记的距离
- javascript - 我可以在 JavaScript 中附加图标作为文本内容吗
- python - Mac os 上的 Python 权限被拒绝问题
- ios - 如何从响应数据结构构造 Codable
- vuejs2 - BootstrapVue 的 b-paginate 组件呈现但不起作用
- python - 用 os.getpid() 加咖啡因 pid