首页 > 解决方案 > Docker 是否有日志状态,例如错误、警告、信息?

问题描述

例如在 Node.js 容器中我这样做: throw new Error('lol');或者console.error('lol'); 但是当我打开容器日志时:docker-compose logs -f nodejs 没有任何状态或颜色,就像所有日志都有信息状态一样。

我使用 Datadog 从容器中收集日志 - 它还将所有日志标记为“信息”。

标签: node.jsdockerloggingdocker-compose

解决方案


docker logs类似的只是从容器内运行的主进程收集标准输出和标准错误流。没有与之相关的“日志级别”,尽管某些系统可能会以不同的方式处理或突出显示这两个流。

作为一个基本示例,您可以运行

docker run -d --name lister --rm busybox ls /
docker logs lister

生成的文件列表不是特别“错误”或“调试”级别。

我习惯于在面向生产的设置中将日志级别包含在日志消息中(在 Node 上下文中,我使用了Winston日志库),然后使用fluentd 之类的工具来收集和解析这些消息。


推荐阅读