Bonjour,
J'ai un fichier de log d'un serveur en json, je dois analyser ce fichier de log pour extraire toutes les requêtes effectuées, avec leurs arguments et les ordonner par sessionid.
Le fichier de log ressemble à cela :
pour les lignes des requêtes :
sessionID - 01/01/2011 12:00:00 - 00:00:00.0156250: ---> /requete
exple:
a5c121ccc12c4db88ad3dfgbess3ae59 - 07/11/2010 18:07:50 - 00:00:03.0119260: ---> /frontrt.aspx?Page=fcallefront&Efrontcall=Callback
pour les lignes avec les arguments:
a5c121ccc12c4db88ad3dfgbess3ae59 - 07/11/2010 18:07:51 - 00:00:00 : Callback target:'', arg:'//STUDIO/SERVER/JSON:{"COMMAND":"SEARCHCITY","POSTALCODE":"75001"}'
Je suis complètement perdu surtout que mon principal souci c'est que les arguments peuvent parfois tenir sur plusieurs lignes, il sont donc tronquées.
J'ai commencé à faire un script en Perl pour cela mais il ne fonctionne pas du tout:
Merci de votre aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 !/usr/bin/perl -w $LOGFILE = "log_18-32-02.log"; open(LOGFILE) or die("Could not open log file."); foreach $line (<LOGFILE>) { my $line =(.*) \- ([0-9]*)/([0-9]*)/([0-9]*) ([0-9]*):([0-9]*):([0-9]*) - ([0-9]*):([0-9]*):([0-9]*) : Callback target:'', arg:(.*); print "$line\n"; } close(LOGFILE);







Répondre avec citation



Partager