Juist nietquote:Op dinsdag 16 juni 2009 12:39 schreef Intrepidity het volgende:
Wat ik meestal wel een nette oplossing voor dat soort dingen vind is een extra tabelletje, iets als events ofzo.. en met een trigger noteer ik daar dan timestamps in die ik moet bewaren. Zo heb je een complete geschiedenis, niet alleen de vorige gebeurtenis.. Misschien wat overkill voor je situatie
1 2 3 4 5 6 7 8 | { if(isset($sql) { return $sqlcount++; } return 0; } |
Hoe bedoel je met loggen?quote:Op woensdag 17 juni 2009 07:38 schreef Scorpie het volgende:
Waarom log je niet gewoon welke query je uitvoert op het moment dat je hem uitvoert? Zo doe ik het iig, tijdens developen log ik alle sql query`s.
1 2 | $count_query++: |
Naar een log-bestand, een textbestandje met niks anders dan informatie over acties die een gebruiker doet, query`s die uitgevoerd worden, en alle andere informatie waar je als ontwikkelaar wat aan kan hebben als er zich bugs bevinden of tijdens het ontwikkelen.quote:
quote:02-05-2009 21:25:55: DEBUG: coredatabase class - Executed query SELECT * from SB_sandwiches | Duration 0.00066400 seconds
Hoe maak je zoietsquote:Op woensdag 17 juni 2009 07:42 schreef Scorpie het volgende:
[..]
Naar een log-bestand, een textbestandje met niks anders dan informatie over acties die een gebruiker doet, query`s die uitgevoerd worden, en alle andere informatie waar je als ontwikkelaar wat aan kan hebben als er zich bugs bevinden of tijdens het ontwikkelen.
Vrij simpel: je maakt een aparte class die een textbestandje opent, een regel wegschrijft en weer dicht doet.quote:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | private function log($message, $level) { if (CMS_DB_QUERY_DEBUG) { if ($log = @fopen(LOG_FILE, "a+")) { $date = date(INTERNAL_DATE_CONSTANT); $string = $date.": ".$level.": ".$message; fwrite($log, $string."\r\n"); fclose($log); } else { echo "Logging failed!"; } } } ?> |
ik heb hem gekopieerd :p alleen waar moet ik hem erinstoppen?quote:Op woensdag 17 juni 2009 07:45 schreef Scorpie het volgende:
[..]
Vrij simpel: je maakt een aparte class die een textbestandje opent, een regel wegschrijft en weer dicht doet.
Mijn functie:
[ code verwijderd ]
tof stel ik wil bijhouden welke php errors de gebruiker kreeg op welk bestandquote:Op woensdag 17 juni 2009 07:54 schreef Scorpie het volgende:
Je moet hem wel ff goed nalopen, er staan een aantal constantes van mij in die moet je aanpassen.
Daarna moet je ff het woord private ervanaf halen, anders kom je er niet bij.
Daarna is het een kwestie van aanroepen door log("dit ging fout!","error"); te doen.
ah dat is een optie die ik zeker ga overwegenquote:Op woensdag 17 juni 2009 08:41 schreef Xcalibur het volgende:
je kan ook gewoon van $sql een array maken, en daar al je queries inzetten
Dan kan je met een count($sql) zien hoeveel queries je hebt gedraaid
1 2 3 | count($sql); |
quote:Op woensdag 17 juni 2009 07:57 schreef cablegunmaster het volgende:
[..]
tof stel ik wil bijhouden welke php errors de gebruiker kreeg op welk bestand
Alvast bedankt ik denk dat ik dit wel kan aanpassen![]()
ja , maar ik kom er niet achter hoe ik die kan veranderen. denk dat mijn config file niet meewerkt herstart ik xampp doet hij het nog niet.quote:Op woensdag 17 juni 2009 09:12 schreef Scorpie het volgende:
[..]
Nou ja ik gebruik deze logger vooral om acties te loggen, dus zeg maar wanneer iemand inlogged, dan schrijf ik een regel weg met "Gebruiker A is ingelogged", dat soort dingen.
Je kan het ook wel gebruiken om errors van PHP te loggen, maar die worden standaard al gelogged.
Das ook wat anders dan deze loggerclass die ik gemaakt hebquote:Op woensdag 17 juni 2009 09:36 schreef cablegunmaster het volgende:
[..]
ja , maar ik kom er niet achter hoe ik die kan veranderen. denk dat mijn config file niet meewerkt herstart ik xampp doet hij het nog niet.
wat ik doe :
ik open php5.ini C:\xampp\php\php5.ini
1: reg 353 error_log = "C:\xampp\htdocs\cablegunmaster v3.0\log_file.txt"
alleen hij wil hem niet zo hebben :p want hij logt nog steeds in de standaard locatie
Kwam ik ook achter dit is voor nette foutmelding naar de user toequote:Op woensdag 17 juni 2009 09:42 schreef Scorpie het volgende:
[..]
Das ook wat anders dan deze loggerclass die ik gemaakt heb
zet eens voor de functie LOG_FILE = "c:\log.txt";
In principe wel ja. Het is alleen wel handig om je query een naam te gevenquote:Op woensdag 17 juni 2009 09:06 schreef cablegunmaster het volgende:
[..]
ah dat is een optie die ik zeker ga overwegen.
maar dan maak ik voor elke query. als praktisch voorbeeld:
[ code verwijderd ]
?![]()
Ik heb zelf een functie die mysql_query() overkoepelt en wanneer ik mijn Boolean $Log aan zet, de queries die uitgevoerd worden in String-vorm naar een log bestand schrijven. Want de query die je in functie mysql_query() gebruikt is niet meer dan dat, een String.quote:Op woensdag 17 juni 2009 09:55 schreef Intrepidity het volgende:
Over het loggen van SQL queries gesproken.. Is er ook een manier om af te vangen wat er EXACT naar de database gestuurd word? Ik maak gebruik van PDO, en als ik mijn queries log staan de variabelen hier nog in.. iets als "SELECT * FROM tabel WHERE veld = :waarde". Bij debuggen heb ik daar soms niet zo gek veel aan..
Ja, maar ik wil wel gebruik blijven maken van PDO in combinatie met prepared statements, dus da ga nie werken nie.quote:Op woensdag 17 juni 2009 13:01 schreef Tuvai.net het volgende:
[..]
Ik heb zelf een functie die mysql_query() overkoepelt en wanneer ik mijn Boolean $Log aan zet, de queries die uitgevoerd worden in String-vorm naar een log bestand schrijven. Want de query die je in functie mysql_query() gebruikt is niet meer dan dat, een String.
Zoiets gelijks hebben wij hier ook inderdaad.quote:Op woensdag 17 juni 2009 13:01 schreef Tuvai.net het volgende:
[..]
Ik heb zelf een functie die mysql_query() overkoepelt en wanneer ik mijn Boolean $Log aan zet, de queries die uitgevoerd worden in String-vorm naar een log bestand schrijven. Want de query die je in functie mysql_query() gebruikt is niet meer dan dat, een String.
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |