Node js logging best problems [已关闭]

vs3odd8k  于 9个月前  发布在  Node.js
关注(0)|答案(1)|浏览(111)

已关闭。此问题为opinion-based。目前不接受回答。
**要改进此问题吗?**更新此问题,以便editing this post可以使用事实和引文来回答。

2天前关闭。
Improve this question
我正在做一个node js express后端,它目前托管在aws fargate ecs中。(Node js,express,typescript,postgres sql,dockerized,terraform for IaC)
我的问题是在生产环境中进行日志记录的最佳方法是什么。我正在使用pino,但我遇到了这些问题

  • 在生产和开发中要登录哪些数据?比如说,在注册用户时,我们是否要像“User Registed”或“Register user data:{user data}”(我们是否要记录个人数据)那样进行日志记录?
  • 集中式日志记录呢?我们可以使用AWS Cloud Watch来记录所有内容吗?因为我看到日志被保存在cloudwatch中。那么我需要将它们记录到一个单独的文件中还是使用cloud watch?
  • 一些示例代码或资源被应用

谢谢

jvidinwx

jvidinwx1#

1.最佳做法?如果您捕获任何类型的个人身份信息,最好不要记录此信息。在许多情况下,记录敏感信息将违反各种合规程序。我不能说这是否与您的用例相关。然而,这正是AWS引入Cloudwatch Logs Data Protection等功能的原因,这样你就可以清理那些包含不应该包含的东西的日志。但是最好不要把它放在第一位。
1.是的,您可以将所有日志保存在AWS Cloudwatch中。每个ECS容器将记录到不同的日志流,但您可以使用AWS Cloudwatch Log Insights在日志组中的所有这些日志流中运行查询。如果您愿意,您可以使用不同的后端来存储日志,例如OpenSearch或Loki,并根据需要利用AWS Firelens来路由日志。这样做的缺点是您需要管理该后端服务,因此您需要决定是否值得这样做。通常,你想让你的容器记录到标准输出,并让ECS任务管理这些日志的发送位置。有关详细信息,请参阅The 12 Factor App > Logs
1.获取像Winstonnpmlog这样的日志库,按照它们的文档获取代码示例。

相关问题