【问题标题】:Can Kubernetes see my Angular console logs?Kubernetes 可以看到我的 Angular 控制台日志吗?
【发布时间】:2020-11-10 10:12:13
【问题描述】:

我的 Angular 应用程序部署在 Kubernetes 容器上,并且该容器上的应用程序日志只有在输出为 stdout 或 stderr 时才会被抓取。在我的 Angular 应用程序中,我目前正在使用 console.log 进行日志记录,因为我相信它与 Question I referred 的功能相同,想知道这是否正确或 stdout 是否是其他内容?

【问题讨论】:

  • 1) 这和elasticsearch有什么关系? 2) 您的 Angular 应用程序不是 nodeJS 应用程序——这两个概念完全不同,我认为在 Angular 上下文中谈论 stdout 没有意义。 console.log 仅打印到 Web 客户端...
  • 我认为在生产模式下不建议使用console.log,应该禁用!
  • @RebaiAhmed 所以不建议登录Web应用程序的客户端
  • 是的,尝试始终使用断点调试代码以及​​如何处理错误

标签: angular logging kubernetes stdout


【解决方案1】:

简短回答:没有

Angular 应用在用户浏览器中运行。这意味着任何使用 console.log 的日志都将在用户端的浏览器中记录,而 Kubernetes 不会知道。

在 Kubernetes 中运行的部分实际上是一个像 Nginx 这样的静态 Web 服务器,或者可能是一个 NodeJS 服务器,它只是提供文件。

如果您有后端服务(如 NodeJS),则服务器进程中的日志将显示在 stdout 和 stderr 中。这些可以在 Kubernetes 中获取。

要从 Angular 获取日志,您需要通过 REST 或类似方式将它们从客户端发送到后端。

【讨论】:

  • 感谢您的回答。是不是你平时不登录web应用的客户端?
  • 超级。人们经常会使用服务将前端日志抽到某处。结帐滚动条 (rollbar.com)。我不隶属于,但在我的一个项目中使用它。另一种方法是自己动手。您需要在服务器端托管一个 API,然后让 Angular 捕获日志并将它们发送到服务器上的 API。 stackoverflow.com/questions/55241453/…
猜你喜欢
  • 1970-01-01
  • 2020-12-28
  • 2011-02-07
  • 2019-04-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-19
  • 1970-01-01
相关资源
最近更新 更多