I'd recommend Perl for job like this, basically it's reading text and categorizing it as you see fit.
Break down is as follows:
You have source files, logs of whatever sort that you'll be reading.
You have to have means of identifying them and categorising, unless you're only looking for "all sum" stats.
So maybe pilot nick or something in teh filename would be a good idea.
Then you have program read the logfiles from selected place ( could be same FTP that they are uploaded to ).
I don't know what logfiles of Il2 look like, but i'm sure they are in some sort of text line based format with something that delimits them.
Your parser has to read and understand each line ( at least those it wants to understand ) and then keep track of things for you for displaying later.
Perl is really helpfull here because you can do something called hashtables and nest them within each other. I wrote a parser for AH 4 years ago but don't have it up anywhere, just source code. Perl being inherent ***** to read, i won't send it to you
I'll give you an example though.
Let's say you have following lines in the log:
( format : pilot, event )
fd-ski, takeoff
wotan, takeoff
fd-ski, kill
wotan, death
fd-ski, landing
your parser basically can do this:
( in pseudo code )
read line
split it into two parts
in hashtable called "pilots" write: $pilots{$data1}{$data2}++
do same for each next line.
Result of this would be hashtable as follows ( tab denotes a root of nested hashtable )
Pilots
fd-ski
takeoff 1
kill 1
landing 1
wotan
takeoff 1
death 1
Now, logfiles are notoriously more complicated and you have to find a logical way to handle stuff in it, but with hashtables making stats of any sort is very each and elegant from the programing point of view.
here is a chunk of AH log and i'll post the main stats engine in the reply below. Hope this helps.
12-09-01 13:15:49,RAM,Start Flight,22,Fw 190A-5
12-09-01 13:15:49,RAM,TO Load,100 %,1,0,0
12-09-01 13:15:50,Marco8X,Start Flight,18,Bf 109G-6
12-09-01 13:15:50,Marco8X,TO Load,100 %,1,1,0
12-09-01 13:15:51,Naudet,Start Flight,17,Fw 190A-8
12-09-01 13:15:51,Naudet,TO Load,100 %,1,1,0
12-09-01 13:15:52,Wail,Start Flight,17,Fw 190A-8
12-09-01 13:15:52,Wail,TO Load,100 %,1,1,0
12-09-01 13:15:53,mora,Start Flight,18,Bf 109G-6
12-09-01 13:15:53,mora,TO Load,100 %,1,1,0
12-09-01 13:15:53,Hazed,Start Flight,23,Fw 190A-5
12-09-01 13:15:53,Hazed,TO Load,100 %,1,0,0
12-09-01 13:15:55,Westy,Start Flight,20,Fw 190A-8
12-09-01 13:15:55,Westy,TO Load,100 %,1,1,0
12-09-01 13:15:56,Morsa09,Start Flight,23,Fw 190A-5
12-09-01 13:15:56,Morsa09,TO Load,100 %,1,0,0
12-09-01 13:15:57,KKEN,Start Flight,18,Bf 109G-6
12-09-01 13:15:57,KKEN,TO Load,100 %,1,1,0
12-09-01 13:15:58,MrLars,Start Flight,20,Fw 190A-8
12-09-01 13:15:58,MrLars,TO Load,100 %,1,1,0
12-09-01 13:15:58,Mathman,Start Flight,16,Fw 190A-8
12-09-01 13:15:58,Mathman,TO Load,100 %,1,1,0
12-09-01 13:15:59,Tex,Start Flight,22,Fw 190A-5
12-09-01 13:15:59,Tex,TO Load,100 %,1,0,0
12-09-01 13:15:59,Furious,Start Flight,22,Fw 190A-5
12-09-01 13:15:59,Furious,TO Load,100 %,1,0,0
12-09-01 13:16:00,Steve74,Start Flight,20,Fw 190A-8
12-09-01 13:16:00,Steve74,TO Load,100 %,1,1,0
12-09-01 13:16:00,Broesy,Start Flight,19,Fw 190A-5
12-09-01 13:16:00,Broesy,TO Load,100 %,1,0,0
12-09-01 13:16:00,airbull,Start Flight,23,Fw 190A-5
12-09-01 13:16:00,airbull,TO Load,100 %,1,0,0
12-09-01 13:16:01,Nibbio,Start Flight,26,Bf 109G-6
12-09-01 13:16:01,Nibbio,TO Load,100 %,1,0,0
12-09-01 13:16:01,Pei,Start Flight,23,Fw 190A-5
12-09-01 13:16:01,Pei,TO Load,100 %,1,0,0
12-09-01 13:16:01,pinner,Start Flight,16,Fw 190A-8
12-09-01 13:16:01,pinner,TO Load,100 %,1,1,0
12-09-01 13:16:02,DrDea,Start Flight,16,Fw 190A-8
12-09-01 13:16:02,DrDea,TO Load,100 %,1,1,0
12-09-01 13:16:02,Greif,Start Flight,23,Fw 190A-5
12-09-01 13:16:02,Greif,TO Load,100 %,1,0,0
12-09-01 13:16:02,xavimm,Start Flight,23,Fw 190A-5
12-09-01 13:16:02,xavimm,TO Load,100 %,1,0,0
12-09-01 13:16:02,maik,Start Flight,17,Fw 190A-8
12-09-01 13:16:02,maik,TO Load,100 %,1,1,0
12-09-01 13:16:03,StSanta,Start Flight,23,Fw 190A-5
12-09-01 13:16:03,StSanta,TO Load,25 %,1,0,0
12-09-01 13:16:03,ManeTMP,Start Flight,26,Bf 109G-6
12-09-01 13:16:03,ManeTMP,TO Load,100 %,1,0,0
12-09-01 13:16:04,Wlfgng,Start Flight,16,Fw 190A-8
12-09-01 13:16:04,Wlfgng,TO Load,100 %,1,1,0
12-09-01 13:16:04,agent89,Start Flight,16,Fw 190A-5
12-09-01 13:16:04,agent89,TO Load,100 %,0,0,0
12-09-01 13:16:04,Logan,Start Flight,16,Fw 190A-8
12-09-01 13:16:04,Logan,TO Load,100 %,1,1,0
12-09-01 13:16:05,LJKBear1,Start Flight,22,Fw 190A-5
12-09-01 13:16:05,LJKBear1,TO Load,100 %,1,0,0
12-09-01 13:16:06,MadMaxx,Change Field,16,26
12-09-01 13:16:07,LUPO,Start Flight,19,Fw 190A-5
12-09-01 13:16:07,LUPO,TO Load,100 %,1,0,0
12-09-01 13:16:07,airmess,Start Flight,23,Fw 190A-5
12-09-01 13:16:07,airmess,TO Load,100 %,1,0,0
12-09-01 13:16:07,GLASSESs,Start Flight,23,Fw 190A-5
12-09-01 13:16:07,GLASSESs,TO Load,100 %,1,0,0
12-09-01 13:16:07,JoGee,Start Flight,17,Fw 190A-8
12-09-01 13:16:07,JoGee,TO Load,100 %,1,1,0
12-09-01 13:16:07,Buzzbait,Start Flight,22,Fw 190A-5
12-09-01 13:16:07,Buzzbait,TO Load,100 %,1,0,0
12-09-01 13:16:07,kratzer,Start Flight,22,Fw 190A-5
12-09-01 13:16:07,kratzer,TO Load,100 %,1,0,0
12-09-01 13:16:08,Lizard3,Start Flight,16,Fw 190A-8
12-09-01 13:16:08,Lizard3,TO Load,100 %,1,1,0
12-09-01 13:16:08,PegBrown,Start Flight,18,Bf 109G-6