Oznámení
Omlouváme se, provoz fóra byl ukončen
Přechodné vypnutí logování
Upozornění: Tohle vlákno je hodně staré.
před 5 lety
- spagr
- Člen | 16
Zdravím,
mám nějakou šanci v novém pojetí logování (Profileru), kdy se logování
do souboru „na tvrdo“ deklaruje přímo v dibi::connect(), pro nějakou
část kódu logování přechodně potlačit ?
Předem díky
před 5 lety
- Milo
- Nette Core | 1119
Všechny loggery jsou uloženy v DibiConnection::$onEvent. Pokud
používáš statickou dibi
, udělal bych to cca takhle:
$old = dibi::getConnection()->onEvent;
dibi::getConnection()->onEvent = NULL;
...
...
...
dibi::getConnection()->onEvent = $old;
anebo asi lépe s využitím extension method:
dibi::getConnection()->extensionMethod('logging', function(DibiConnection $db, $run) {
static $olds;
$hash = spl_object_hash($db);
if ($run) {
if (isset($olds[$hash])) {
$db->onEvent = $olds[$hash];
unset($olds[$hash]);
}
} else {
$olds[$hash] = $db->onEvent;
$db->onEvent = NULL;
}
});
dibi::getConnection()->logging(FALSE);
dibi::getConnection()->logging(TRUE);