日志解析器sql查询格式化以在特定时间范围内搜索特定关键字?

8zzbczxx  于 2021-08-09  发布在  Java
关注(0)|答案(2)|浏览(349)

我正在使用microsoftlogparser studio v2.2gui来解析iissmtp中继服务器,我想知道用什么sql查询来获取具有指定电子邮件地址的字符串。user@domain.org 从2020年1月6日到今天这段时间?
iislog中的行示例是:

144.42.115.31, OutboundConnectionCommand, 4/06/2020, 2:25:52, SMTPSVC1, PRDMAIL05-VM, -, 187, 0, 4, 0, 0, MAIL, -, FROM:<Super.User@domain.org> SIZE=3159,
82.55.126.143, OutboundConnectionCommand, 8/06/2020, 12:54:52, SMTPSVC1, PRDMAIL05-VM, -, 187, 0, 4, 0, 0, MAIL, -, TO:<Super.User@domain.org> SIZE=4822,

我尝试了下面的代码,但没有显示任何结果:

SELECT logfilename, 
       logrow, 
       userip, 
       username, 
       To_localtime(To_timestamp(date, time)) AS timestamp, 
       hostname, 
       requesttype, 
       parameters 
FROM   '[LOGFILEPATH]' 
WHERE  ( parameters LIKE '%Super.User@domain.org%' 
       AND    timestamp >= '1/06/2020 12:00 AM' 
       AND    timestamp <= '9/06/2020 12:00 PM' )

抛出错误:

x7yiwoj4

x7yiwoj41#

-------log parser studio

qmelpv7a

qmelpv7a2#

-分析查询时出错:where子句:语义错误:内容字段“1/06/2020 12:00 am”与左操作数类型“timestamp”不匹配[sql查询语法无效或不受支持。]
新建查询
好的
在使用tolocaltime(totimestamp(date,time))作为时间戳之后,logparser gui中的列timestamp将显示出来

4/06/2020 12:25:52 PM
4/06/2020 5:06:38 PM

当实际日志文件分别显示时:

4/06/2020, 2:25:52
4/06/2020, 7:06:38

日志文件目录是50gb+并且它使用iislog作为类型。

相关问题