我可以在Docker文档中看到: https://docs.docker.com/config/containers/logging/gelf/
在GELF中,每条日志消息都是具有以下字段的字典: ... 您自己配置的任何自定义字段
这是否意味着该驱动程序支持自定义字段?
我想为每条GELF消息添加自定义字段环境。 我该怎么办?
答案 0 :(得分:0)
您是否正在将Docker容器中的GELF消息发送到Graylog?如果是这样,Graylog GELF格式确实支持自定义字段。要提供自定义字段,只需在字段名称之前添加下划线,如下所示。只要您还提供了必填字段(请参见下面的文档参考),邮件就会被成功解析。
有关更多信息,请参见GELF section in the Graylog docs。
答案 1 :(得分:0)
文档的确不是很清楚,但是正如here所述,有一种方法可以向您的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"
。