我似乎在选择具有编码为 DateTime() 字符串的子属性的日志事件时遇到问题。可能只是我的语法错误,但是:
使用“数字”子属性选择名为 SpotPrice 的事件: SpotPrice.PriceSeqId > 50000 有效,返回 PriceSeqId 大于 50,000 的事件
然而,尝试从相同的事件中进行选择,但在名为 DateTimeUTC 的子属性上进行选择会失败,使用类似以下内容:
DatePart(DateTime(SpotPrice.DateTimeUTC), '月份', OffsetIn('美国/纽约', DateTime(SpotPrice.DateTimeUTC))) = 4
(顺便说一句,这个表达式:SpotPrice.DateTimeUTC = '2024-05-03T15:13:24.1714197' 有效,并返回单个事件)
不用说,我正在尝试选择具有自己的(内部)日期时间(由某些远程服务器生成)的事件,而不是根据 SEQ 自己的 @TimeStamp 选择事件。任何指示表示赞赏。
还尝试过多种搜索变体,例如: 日期时间(SpotPrice.DateTimeUTC) > 日期时间('2024-05-03T15:13:16.2726572') 等等
正在使用 Seq 2023.4.10097,从 Windows C# 应用程序记录 Serilog 事件。
SEQ 日志: 来自 SEQ 浏览器
查询未返回任何结果,因为
DateTime('2024-05-03T15:13:24.171419')
为 null。如果没有时区,Seq 就无法知道如何解析日期。
由于日期字符串是 UTC,你可以执行
DateTime(concat(SpotPrice.DateTimeUTC, 'Z'))
并且它应该可以工作。