docker - Docker Gelf 驱动程序自定义字段
问题描述
我可以在 Docker 文档中看到: https ://docs.docker.com/config/containers/logging/gelf/
在 GELF 中,每条日志消息都是一个包含以下字段的字典: ...您自己配置的任何自定义字段
这是否意味着该驱动程序支持自定义字段?
我想为每条 GELF 消息添加自定义字段环境。我怎样才能做到这一点?
解决方案
文档确实对此不是很清楚,但正如这里所解释的,有一种方法可以在您的 GELF 消息中添加额外的字段,这对我有用:
您需要通过选项提供要添加的额外字段的名称--log-opt env=...
,然后通过 docker env 提供字段值,如下所示:
docker run --log-driver gelf --log-opt env=mycustomfield --log-opt gelf-address=udp://<your-domain>:12201 --env mycustomfield=mycustomvalue alpine echo hello world
您生成的日志消息将包含额外字段"mycustomfield": "mycustomvalue"
。
推荐阅读
- kotlin - 将依赖项从模块传递到继承的父模块
- gitlab - Gitlab 执行器 TTY
- docker - Traefik Docker Swarm 基本身份验证
- svg - 如何应用 SVG 过滤器来创建整个轮廓的彩色 SVG 形式?
- corda - 扩展 FungibleToken 时出错:QueryableState 中的 supportedSchemas() 与 FungibleState 中的 supportedSchemas() 冲突
- python - 如何在 Python CDK 中实例化 CfnFunction 的 events 参数
- c# - 连续调用 Console.Beep() 之间的延迟
- python - 在 AWS Lambda 中收到错误“无法导入模块 'lambda_function':没有名为 Flask 的模块”
- mongodb - 如何一次从多个 Mongo 集合中查询(查找)并组合结果
- javascript - 在 componentDidMount() 中使用 React.setState 获取嵌套承诺中返回的数据?