Tracy jiste každý, kdo používa Nette, zná, ale znáte všechny její nastavení?
Tracy je skvělý nástroj, už si nedovedu představit projekt bez ní. Všichni ji používáme v rámci Nette Frameworku. Má dokonce i svůj web (https://tracy.nette.org/).
Někdo ji používá i samostatně, jenom aby se mu dobře vyvíjelo. To je určitě validní přístup. Já bych se však rád podíval na Tracy integraci v rámci Nette, protože tam je cesta dosti neprobádaná.
Aktuální dokumentace
hovoří o pár konfiguračních hodnotách. Následující nastavení můžete vložit
přímo do souboru config.neon
.
tracy:
email: %webmasterEmail%
strictMode: true
editor: ...
browser: ...
bar: # panely do Debugger baru
- Nette\Bridges\DITracy\ContainerPanel # alias DI Container baru
- IncludePanel
- XDebugHelper('myIdeKey')
- MyPanel(@MyService)
blueScreen: # panely do Laděnky
- DoctrinePanel::renderException
V rámci jednoho PR jsem se pokusil zachytit a popsat všechny nastavení, které Tracy můžete předat.
PR: https://github.com/nette/docs/pull/669
tracy:
# email, na který se posílají notifikace, že došlo k chybě
email: dev@example.com
fromEmail: robot@example.com
# ve vývojovém režimu zobrazí chyby typu notice nebo warning jako BlueScreen
strictMode: true
# zobrazí umlčené (@) chybové hlášky
scream: true
# formát odkazu pro otevření v editoru
editor: editor://open/?file=%file&line=%line
# cesta k prohlížeči, který bude automaticky otevírat zalogované BlueScreen v CLI režimu
browser: ...
# pro jaké úrovně chyb (E_WARNING, E_ALL, ...) se loguje i BlueScreen
logSeverity:
# cesta k šabloně s vlastní stránkou pro chybu 500
errorTemplate: ...
# zobrazí Debugger Bar na spodu stránky
showBar: true
# maximální délka řetězce vypisovaná funkcí dump()
maxLength: 150
# do kolika úrovní zanoření má vypisovat funkce dump()
maxDepth: 3
# zobrazí místo, kde byla volána funkce dump()
showLocation: false
editorMapping:
# originál: nová
/var/www/html: /data/web
/home/web: /srv/html
# přidá panely do Debugger Baru
bar:
- Nette\Bridges\DITracy\ContainerPanel
- IncludePanel
- XDebugHelper('myIdeKey')
- MyPanel(@MyService)
# přidá panely do BlueScreen
blueScreen:
- DoctrinePanel::renderException
I mě samotného překvapilo, kolik částí se dá konfigurovat. Například browser
je dost
magická volba, použije se tehdy, když spouštíte script z CLI a zaloguje se laděnka.
Tehdy Tracy zjistí, jestli je browser
nastavený a připadně vám přes exec
zavolá tento kód.
V praxi se vám otevře prohlížeč s právě vyhozenou výjimkou.