[ALG] Apache log voor 1 bestand

Pagina: 1
Acties:

  • The Gamblers
  • Registratie: Januari 2001
  • Laatst online: 23:53
Hi,

Heb een apache server met php. Nu bied ik ter download een file aan waarvan ik graag ik de gaten wil houden hoevaak ie gedownload word. Is het mogelijk apache naast mijn normale log nog een log te laten maken met alleen de requests op dat bestand ?

Wat ook nog kan, ik heb webalizer draaiend. Kan ik die laten filteren op die ene request in de normale access.log en daar dan een page van laten maken ?

btw os is windows nt 4 server.

Console Guy


  • GiLuX
  • Registratie: Juni 1999
  • Laatst online: 12-11-2025
tja,
als je het in webalizer niet terug ziet,
dan kan je natuurlijk een heel simpel phpscript schrijven die je log doorspit en het aantal regels terug geeft waar die bestnds naam in stond.\

iets van(pseudo code):
code:
1
2
3
4
5
6
7
$file=file("c:\apache\logs\access.log");

foreach ($file as $line){  
  if(eregi("myfile.bla",$line)){
    echo "$line<br>";
  }
}

"I disagree with what you are saying, but I will defend to the death your right to say it." -- not clear who


  • Soultaker
  • Registratie: September 2000
  • Laatst online: 01:47
Een mogelijkheid is simpelweg het gebruik van grep om de juiste regels uit de logs te halen. Ik neem aan dat Webalizer gescheduled staat, dus dan zou je voor het uitvoeren daarvan eerst je normale logfile moeten filteren en de uitvoer naar een ander bestand sturen, dat vervolgens verwerkt wordt.

Om onder Windows over grep (en andere handige Unix utilities trouwens) te beschikken moet je eerst iets als (bijvoorbeeld) Cygnus installeren (zie www.cygwin.org).

  • The Gamblers
  • Registratie: Januari 2001
  • Laatst online: 23:53
Hi,

Leuke suggesties hier. Dat php scriptje is geen optie. Na 1 maand is mijn log vaak al 20 Mb en word dus gerotate. Ik zoek echt iets om apache een log laten maken met alleen request op dat bestand of webalizer alleen op dat bestand te laten zoeken..

Niemand ?

Console Guy


  • GiLuX
  • Registratie: Juni 1999
  • Laatst online: 12-11-2025
Op donderdag 07 februari 2002 08:10 schreef basmaaks het volgende:
Hi,

Leuke suggesties hier. Dat php scriptje is geen optie. Na 1 maand is mijn log vaak al 20 Mb en word dus gerotate...
ja...en?
code:
1
2
3
4
5
6
7
8
9
$next=0;
while($file=file("c:\apache\logs\access.".$next){
  foreach ($file as $line){  
    if(eregi("myfile.bla",$line)){
    echo "$line<br>";
    }
  }
$next++;
}

is het punt dat je 20 mb te veel vindt om doorheen te lopen?

webalizer doet elke keer precies hetzelfde als het scriptje hierboven maar filtert dan ook nog eens alle info uit elke regel.

andere optie is om dat bestandje aan te laten roepen vanaf een andere pagina.
elke keer dat die pagina wordt aangeroepn hoog je een tellertje op in een file oid en redirectje naar je download file, of geeft een header met het juiste bestands type en output je die file naar je browser.

"I disagree with what you are saying, but I will defend to the death your right to say it." -- not clear who