You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Serilog.Expressions中如何对字典使用通配符索引(any)运算符?

Serilog.Expressions 3.4.0 字典任意值匹配问题

Serilog.Expressions 3.4.0 暂不支持通过QueryString[?]这种语法匹配字典的任意值,你的操作没有错误,属于版本功能限制。

要实现匹配字典中任意值的需求,需要使用exists()函数遍历字典条目来完成,正确的表达式如下:

exists(QueryString, (k, v) => v like '%UNION ALL SELECT%' ci)

这个表达式会遍历QueryString字典的每一组键值对(k代表键,v代表对应的值),检查是否存在任意一个值满足指定的模糊匹配规则(ci表示大小写不敏感)。

补充说明:

  • 你之前指定单个键的写法QueryString['someKey'] like '%UNION ALL SELECT%' ci是合法的单键值匹配语法,所以能正常生效。
  • [?]通配符匹配字典任意值的语法在Serilog.Expressions 3.4.0中并未实现,因此无法触发匹配。

内容的提问来源于stack exchange,提问作者hobwell

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 09:23:08