【发布时间】:2020-09-23 02:52:14
【问题描述】:
我有这样的日志:
{
"posts": {
"key1": "value123",
"key2": "abcdge123",
"key3": "abcdge345",
"....": "....",
"something": "something"
},
"execute_time": 123,
"code": 200,
}
这是record_transformer 的流畅配置:
<filter tag.hellow>
@type record_transformer
enable_ruby true
<record>
posts ${ if record['posts'].has_key?('key1'); Base64.strict_encode64(record['posts']['key1'].to_s); end }
</record>
</filter>
这会删除posts 字段并重新创建,以便posts 字段中的所有其他键都丢失,即:
{
"posts": {
"key1": "base64XXXXXXX"
},
"execute_time": 123,
"code": 200,
}
这是所需的日志输出:
{
"posts": {
"key1": "base64XXXXXXX",
"key2": "abcdge123",
"key3": "abcdge345",
"....": "....",
"something": "something"
},
"execute_time": 123,
"code": 200,
}
这个用例有什么办法吗?
谢谢!
【问题讨论】:
-
试试:
posts ${ if record['posts'].has_key?('key1'); record['posts']['key1'] = Base64.strict_encode64(record['posts']['key1'].to_s); record['posts']; end }