CLF naar SQL?

Pagina: 1
Acties:

  • Boudewijn
  • Registratie: Februari 2004
  • Niet online

Boudewijn

omdat het kan

Topicstarter
Hoi


Ik gebruik apache dat een CLF maakt. CLF = Common Log Format.
Voorbeeldje van een CLF-regel:
code:
1
<IP> - - [15/Feb/2006:13:36:14 +0100] "GET /templates/gentooforum/images/lang_english/icon_icq_add.gif HTTP/1.1" 304 - "<URL>" "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.8.0.1) Gecko/20060209 Firefox/1.5.0.1"

Ik heb even <IP> en <URL> vervangen (wel zo netjes).
Het is zo dat sinds ong. 1 week apache alles met mod_log_sql logt naar een DB.
Ik heb tot die tijd alles gelogd naar een gewoon access_log in CLF formaat.


Zodra ik statistieken aan ga maken heb ik een tool , mls2clf, die de sql db uitleest en daar CLF van maakt.
Dit pipe ik naar een bestand en maak mijn statistieken.

Nu wil ik echter om beheer-redenen (en nog wat meer) mijn oude logs in de DB zetten.
Dit moet dus het omgedraaide zijn van clf2mls.

Ik heb hierop gegoogled (geen hits).
Weet iemand een dergelijke tool?


ook sf afgezocht.
Anders schrijf ik zelf wel even wat, maar waarom zelf het wiel uitvinden als dat er al is.


edit: OS is Gentoo. Solaris (sparc) mag ook evt.

[ Voor 7% gewijzigd door Boudewijn op 15-02-2006 14:38 ]


Verwijderd

Tekstbestand importeren in een SQL database met een veldscheidingsteken? Als je veldscheiding in die CLF files hebt kan het, anders kan het niet zonder extra software (en die is vast niet gratis dan)

  • Boudewijn
  • Registratie: Februari 2004
  • Niet online

Boudewijn

omdat het kan

Topicstarter
mja geld zal het zeker niet kosten.

Ik zoek dan met name een sf.net projectje ofzo (vaak niet betaald , en gegarandeerd OSS).
Als het er niet is, ik ben programmeur en dan timmer ik zelf wel eea in elkaar.

Het scheidingsteken is een spatie. Echter zit er in zowel de timestamp als de UserAgent ("Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.8.0.1) Gecko/20060209 Firefox/1.5.0.1") spaties.


Ze staan dan wel tussen quotes, maar een comma-seperated list-achtige structuur is dan niet zo makkelijk te doen.

  • Snow_King
  • Registratie: April 2001
  • Laatst online: 20:36

Snow_King

Konijn is stoer!

Je kan toch splitten op spaties en rekening houden met de " " en [ ] ?

Met een PHP/Perl script moet dit snel kunnen.

  • Boudewijn
  • Registratie: Februari 2004
  • Niet online

Boudewijn

omdat het kan

Topicstarter
ja ok .

Dus zelf wat doen ;)
Ik zocht eigenlijk een kant-en-klaar tooltje om CLF te parsen (als in: als de ene kant op al gemaakt is, dan is de andere kant toch mogelijk ook gemaakt).

Maar ik kan het dus ook zelf even hacken.