Chování Tracy pokud není ‚enabled()‘

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

Snažím se pochopit Tracy, využíváme jí bohatě a teď se snažím pochopit jak se chová.

Mám jednoduchý testovací skript:

  • composer autoload
  • Debugger::enable (volitelně)
  • jeden dotaz do DB
  • Debugger::barDump

Očekával bych, že když Tracy není ::enabled() a zavolám barDump(), tak že barDump tiše vrátí nic a jede se dál, místo toho ale začne načítání zhruba 6 tříd, přídávání panelů na bar, sestavení html pro Dump… a nakonec se nestane nic.

Když dám Tracy jako ::enabled(Debugger::PRODUCTION) bez mailu a složky pro logy, tak se načte 10 tříd, ale samotný barDump už hned vyskočí a neudělá nic. Ale pokud se nepletu Tracy nemůže nic smyslupného udělat, protože nemá mail ani cíl logů. (Dejme tomu že nahrazuje nebezpečné chybové hlášky za bezpečné, ale chyba nevyskočila).

Je nějaká varianta jak přimět Tracy, aby mlčela bez načítání těch 10 tříd, které nepotřebuji?

Jdu na to nějak blbě?

Díky

Editoval jandanielcz (11. 6. 2015 14:31)

Milo
Nette Core | 1283
+
0
-

Jaké třídy se Ti načítají? V produkčním režimu se nezpracovává vůbec nic. https://github.com/…Debugger.php#L464

Ukaž i konkrétní kód.

EDIT: Jinak… volání enable() registruje error a exception handlery pro logování chyb a podobně. Defaultně je režim autodetekován, tj. pokud nenastavíš ručně Debugger::$productionMode, dumpy se provedou pro jistotu, kdybys aktivoval vývojový režim později.

Zkus ručně Debugger::$productionMode = TRUE.

Editoval Milo (11. 6. 2015 17:11)

David Matějka
Moderator | 6445
+
0
-

@Milo ne tak uplne :)

z nejakeho duvodu tracy naloaduje nektere tridy: https://github.com/…Debugger.php#… bylo to zavedeny timto commitem, nevim presne proc..

David Grudl
Nette Core | 8218
+
+1
-

Kvuli situacím, kdy je chyba vyhozena během autoloadingu.

jandanielcz
Člen | 3
+
0
-

Díky.

Vyvozuji z toho, že pokud se v tom nechci rýpat tak nejlepší je zapnout ::enabled(Debugger::PRODUCTION) a načítání těch 7 tříd neřešit.