ruby Fluentd记录转换器条件语句,如果不存在则添加键

wj8zmpe1  于 2022-12-18  发布在  Ruby
关注(0)|答案(1)|浏览(123)

如果日志中没有消息字段,我想将其添加到日志中。
下面是相关的fluentd配置:

<filter **>
  @type record_transformer
  enable_ruby true
  <record>
    message ${ if record.has_key?('message'); then record ["message"]; else record["message"] == "nomsg"; end}
  </record>
</filter>

但是当消息字段不存在时,我得到message=false,当它存在时,得到message=actual_msg
不确定为什么它不采取message=nomsg
请帮助和建议。
反复尝试上述语法,但没有成功。

dy2hfwbg

dy2hfwbg1#

只需在else条件下进行如下更改:

<filter **>
  @type record_transformer
  enable_ruby true
  <record>
    message ${ if record.has_key?('message'); then record ["message"]; else "nomsg"; end}
  </record>
</filter>

希望这对你有帮助。

相关问题