我有一个 AWStats 正在运行,并且报告是从 IIS 日志文件构建的。我有一个额外的部分来查看站点上执行的 perlscripts 的所有操作。
配置如下所示:
ExtraSectionName1="Actions"
ExtraSectionCodeFilter1="200 304"
ExtraSectionCondition1="URL,\/cgi\-bin\/.+\.pl"
ExtraSectionFirstColumnTitle1="Action"
ExtraSectionFirstColumnValues1="QUERY_STRING,action=([a-zA-Z0-9]+)"
ExtraSectionFirstColumnFormat1="%s"
ExtraSectionStatTypes1=HPB
ExtraSectionAddAverageRow1=0
ExtraSectionAddSumRow1=1
MaxNbOfExtra1=20
MinHitExtra1=1
输出如下所示:
Action Pages Hits
foo 1234 1234
bar 5678 5678
但是在不同的 perl 脚本中有一些同名的动作。
我需要这个:
Script Action Pages Hits
foo.pl foo 1234 1234
bar.pl foo 1234 1234
foo.pl bar 5678 5678
bar.pl bar 5678 5678
有谁知道如何创建这样的报告?
编辑:
我做了更多的研究,我发现的所有论坛帖子都说,如果不入侵,就不可能在额外的部分中有两列awstats.pl
现在我试图将它放入一列中URLWITHQUERY
,以输出如下内容:
Action Pages Hits
foo.pl?action=foo 1234 1234
foo.pl?action=bar 1234 1234
bar.pl?action=foo 5678 5678
...
新问题是查询的参数多于操作,它们是无序的。我试过这个
ExtraSectionFirstColumnValues1="URLWITHQUERY,([a-zA-Z0-9]+\.pl\?).*(action=[a-zA-Z0-9]+)"
但 AStats 仅从第一个括号对中获取值,而忽略其余部分。我认为它在内部使用$1
由 perl 正则表达式“魔术”提供。
有任何想法吗?