0

我正在尝试使用@type record_transformer我的一些应用程序日志语句来屏蔽密码没有消息,因为这正在低于 td-agent 日志文件中的错误是否有任何解决此问题的方法。如果未找到消息字段,如何忽略此问题。

2021-09-28 18:05:15.751529402 +0000 fluent.warn: {"error":"#<RuntimeError: failed to expand `record[\"message\"].gsub(/[Pp]assword*([^,]*)/,'******').gsub(/([Aa]uthorization\\s*.\\s*[Bb]earer\\s)[\\w\\.\\-^]+/,'******').gsub(/([Aa]uthorization_ml\\s*.\\s*[Bb]earer\\s)[\\w\\.\\-^]+/,'******')` : error = undefined method `gsub' for nil:NilClass>","location":"/opt/td-agent/embedded/lib/ruby/gems/2.4.0/gems/fluentd-1.11.1/lib/fluent/plugin/filter_record_transformer.rb:310:in `rescue in expand'","
4

1 回答 1

1

被调用的对象#gsub(可能是一个字符串)是nil. 寻找到达 record_transformer 的丢失数据 - 可能返回不正确的哈希查找nil

#nil?您可以使用每个对象上的方法来保护 nil 。

if obj.nil?
  # do thing
end
于 2021-09-28T19:11:03.427 回答