logování všech sql dotazů do souboru

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
n.u.r.v.
Člen | 485
+
0
-

Ahoj, potřeboval bych nějak zapnout logování všech sql dotazů do nějakého souboru – jde to nějak udělat? Stačí v debug verzi…Na DB nepoužívám žádné rozšíření apod…Díky

Milo
Nette Core | 1283
+
0
-

Jaká verze Nette?
Ono je to vlastně skoro jedno. Můžes si nasadit callback na event onQuery, ale podle verze Nette dostaneš do té funkce různé paramatry.

$connection->onQuery[] = function(...) {
	// zápis do souboru
};

Editoval Milo (17. 7. 2013 10:22)

voda
Člen | 561
+
0
-

MySQL má přímo query log.

n.u.r.v.
Člen | 485
+
0
-

Milo: a toto zapíšu kam – do modelu, kde pracuji s DB? a Na místo těch teček bude co? Díky

David Matějka
Moderator | 6445
+
0
-

nekam, kde mas pristup k connection. jen pozor, at tam ten callback nepovesis vicekrat. nejcistci by bylo udelat si nejakou sluzbu logger, ktera si vyzada connection atd. ale muzes to treba hodit do bootstrapu nebo nekam do basepresenteru.

to, jak to v tom callbacku zpracovat, muzes zjistit treba v metode Nette\Database\Diagnostics\ConnectionPanel::logQuery (v 2.1 se to zpracovava jinak)