AWStats plusieurs colonnes dans la section supplémentaire
Question
J'ai un AWStats en cours d'exécution et les rapports sont compilés à partir IIS logfiles. J'ai une section supplémentaire pour afficher toutes les actions des perlscripts exécutées sur le site.
Les regards de configuration comme ceci:
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
Les regards de sortie comme ceci:
Action Pages Hits
foo 1234 1234
bar 5678 5678
Mais il y a des actions avec le même nom dans différents scripts Perl.
Je aurais besoin ceci:
Script Action Pages Hits
foo.pl foo 1234 1234
bar.pl foo 1234 1234
foo.pl bar 5678 5678
bar.pl bar 5678 5678
Quelqu'un sait comment créer un tel rapport?
EDIT:
je l'ai fait quelques recherches et tous les messages du forum j'ai trouvé dire qu'il est impossible d'avoir deux colonnes dans une section supplémentaire sans le piratage dans awstats.pl
Maintenant, je suis en train de le mettre dans une colonne à l'aide URLWITHQUERY
à someting de sortie comme ceci:
Action Pages Hits
foo.pl?action=foo 1234 1234
foo.pl?action=bar 1234 1234
bar.pl?action=foo 5678 5678
...
Le nouveau problème est que la requête a plus de paramètres que l'action, qui ne sont pas ordonnés. J'ai essayé
ExtraSectionFirstColumnValues1="URLWITHQUERY,([a-zA-Z0-9]+\.pl\?).*(action=[a-zA-Z0-9]+)"
mais AWstats obtient la valeur de la première paire de support et ne tient pas compte du reste. Je pense que cela fonctionne en interne avec $1
fourni par le perl regex « magique ».
Toutes les idées?
La solution 2
Je l'ai trouvé une solution.
awstats.pl
récupère les données pour les sections supplémentaires spécifiées dans line 19664 - 19750
Ceci est ma modification:
# Line 19693 - 19701 in awstats.pl (AWStats version 7 Revision 1.971)
elsif ( $rowkeytype eq 'URLWITHQUERY' ) {
if ( "$urlwithnoquery$tokenquery$standalonequery" =~
/$rowkeytypeval/ )
{
$rowkeyval = "$1$2"; # I simply added a $2 for the second capture group
$rowkeyok = 1;
last;
}
}
obtiendra le premier et le deuxième groupe de capture spécifié dans le regex ExtraSectionFirstColumnValuesX.
Exemple:
ExtraSectionFirstColumnValues1="URLWITHQUERY,([a-zA-Z0-9]+\.pl\?).*(action=[a-zA-Z0-9]+)"
Inutile de dire que vous devez ajouter un $3 $4 $5 ...
si vous avez besoin de plusieurs groupes.
Autres conseils
peut-être?
ExtraSectionFirstColumnTitle1="Script"
ExtraSectionFirstColumnValues1="URL,\/cgi\-bin\/(.+\.pl)`enter code here`"
ExtraSectionFirstColumnFormat1="%s"
ExtraSectionFirstColumnTitle2="Action"
ExtraSectionFirstColumnValues2="QUERY_STRING,action=([a-zA-Z0-9]+)"
ExtraSectionFirstColumnFormat2="%s"