C# 需要在c中解析IIS日志的帮助吗

C# 需要在c中解析IIS日志的帮助吗,c#,parsing,iis,C#,Parsing,Iis,我的IIS日志有一个查询参数CSURI查询,如下所示 "TraceId=8c0b8329-f125-4dec-90af-f508674284f5,PartnerId=Partner1\r\n,UserInput=Address1:+1234+block+of+XYZ+Street+Address2:+Santa+Fe+Springs+State:+California+ZipCode:+90000+Country:+United+States+" 我需要从上面的行中提取Address1、Add

我的IIS日志有一个查询参数CSURI查询,如下所示

"TraceId=8c0b8329-f125-4dec-90af-f508674284f5,PartnerId=Partner1\r\n,UserInput=Address1:+1234+block+of+XYZ+Street+Address2:+Santa+Fe+Springs+State:+California+ZipCode:+90000+Country:+United+States+"
我需要从上面的行中提取Address1、Address2、State、ZipCode和Country。还请注意,这些字段不一定总是以相同的顺序出现


什么是最好的快速解析方法?我正在尝试使用c命令行工具进行解析。任何其他基于脚本的解决方案都可以。

请看这里:

LogParser非常适合这种情况。然而,没有必要编写C代码;您可以从命令行/shell脚本中访问LogParser。要提取所需的数据,可以使用LogParser函数extract_TOKEN。例如,要获取该查询字符串的UserInput部分,可以说:

LogParser-i:IISW3C从ex10082012.log中选择EXTRACT_TOKENcs-uri-query,3,'='

当然,将其解析为Address1、Address2等将需要应用更多的嵌套摘录

有关如何使用EXTRACT_令牌的更多信息,请查看安装包附带的LogParser.chm文件,或从命令行运行LogParser-h函数EXTRACT_令牌。

改用LogParser