[PHP/MySql] Query + resultaten loggen

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hallo mensen,

Ik moet voor mijn opdrachtegever, alle transacties met een mysql database, die uitgevoerd worden vanaf mijn webserver, loggen naar een file. Hoe ga ik dit het beste aanpassen, de site waar het om gaat alle query's laten uitvoeren via een functie die eerst de query en resultaten logt en dan het resultaat van de query returnt?

Liever handel ik dit af buiten PHP om, aangezien dit performance winst is door t rechtstreeks door mysql te laten doen

[ Voor 16% gewijzigd door Verwijderd op 14-04-2006 11:00 ]


Acties:
  • 0 Henk 'm!

  • JHS
  • Registratie: Augustus 2003
  • Laatst online: 30-07 17:20

JHS

Splitting the thaum.

Verwijderd schreef op vrijdag 14 april 2006 @ 10:57:
Liever handel ik dit af buiten PHP om, aangezien dit performance winst is door t rechtstreeks door mysql te laten doen
Dit vindt ik eerlijkgezegd nogal een boude conclusie :) . Ik denk dat je een dergelijke oplossing eerst maar 's zou moeten gaan benchmarken voor je dat kan concluderen. Maar heeft MySQL geen uitgebreide logmogelijkheden of iets dergelijks?

Als dat niet zo is zou ik inderdaad een database/sql class/functie bouwen die de query probeert uit te voeren en gelijk logt welke queries er worden gedraaid. Waarschijnlijk is het nuttig om er in je log gelijk bij te vermelden welke functie/class die query method/functie aanroept. Daarnaast kan je in zo'n functie/class ook gelijk generieke validatie en escaping e.d. regelen :) .

DM!


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ja ik had mij al verdiept in de binairy logs van mysql, maar die loggen alleen dingen die een resultaat hebben, en ik wil ook update querye's enzo loggen. Maar nu bedenk ik mij zo, als ik ALLE query's log, kan ik toch herleiden van het resultaat op dat moment is. Dus ik kan dmv query log (wat een feature van mysql is) alle query's loggen, en mocht ik ooit t resultaat nodig hebben kan ik dat dus zo herleiden

Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 11-08 18:05

Janoz

Moderator Devschuur®

!litemod

Verwijderd schreef op vrijdag 14 april 2006 @ 10:57:
Liever handel ik dit af buiten PHP om, aangezien dit performance winst is door t rechtstreeks door mysql te laten doen
Performance lijkt me bij lange na niet de belangrijkste reden voor deze keuze. Door het buiten php om af te vangen kun je makkelijker garanderen dat alles gelogd wordt. In al die php-code is een vervanging ergens zo vergeten. En als het niet vergeten wordt bij de overstap, dan kan het altijd nog wel vergeten worden bij het updaten of instaleren van nieuwe php code.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'