Konfigurace Tracy
Všechny příklady předpokládají vytvořený alias:
use Tracy\Debugger;
Logování chyb
$logger = Debugger::getLogger();
// e-mail, na který se posílají notifikace, že došlo k chybě
$logger->email = 'dev@example.com'; // (string|string[]) výchozí je nenastaveno
// odesílatel e-mailu
$logger->fromEmail = 'me@example.com'; // (string) výchozí je nenastaveno
// rutina zajišťující odeslání emailu
$logger->mailer = /* ... */; // (callable) výchozí je odesílání funkcí mail()
// po jaké nejkratší době odeslat další email?
$logger->emailSnooze = /* ... */; // (string) výchozí je '2 days'
// pro jaké úrovně chyb se loguje i BlueScreen?
Debugger::$logSeverity = E_WARNING | E_NOTICE; // výchozí je 0 (žádné úrovně chyb)
Chování dump()
// maximální délka řetězce
Debugger::$maxLength = 150; // (int) výchozí dle verze Tracy
// maximální hloubka zanoření
Debugger::$maxDepth = 10; // (int) výchozí dle verze Tracy
// skrýt hodnoty těchto klíčů (od Tracy 2.8)
Debugger::$keysToHide = ['password', /* ... */]; // (string[]) výchozí je []
// vizuální téma (od Tracy 2.8)
Debugger::$dumpTheme = 'dark'; // (light|dark) výchozí je 'light'
// zobrazit místo, kde byla volána funkce dump()?
Debugger::$showLocation = /* ... */; // (bool) výchozí dle verze Tracy
Ostatní
// ve vývojovém režimu zobrazí chyby typu notice nebo warning jako BlueScreen
Debugger::$strictMode = /* ... */; // (bool|int) výchozí je false, je možné vybrat jen některé úrovně chyb (např. E_USER_DEPRECATED | E_DEPRECATED)
// zobrazit umlčené (@) chybové hlášky?
Debugger::$scream = /* ... */; // (bool|int) výchozí je false, od verze 2.9 je možné vybrat jen některé úrovně chyb (např. E_USER_DEPRECATED | E_DEPRECATED)
// formát odkazu pro otevření v editoru
Debugger::$editor = /* ... */; // (string|null) výchozí je 'editor://open/?file=%file&line=%line'
// cesta k šabloně s vlastní stránkou pro chybu 500
Debugger::$errorTemplate = /* ... */; // (string) výchozí je nenastaveno
// zobrazit Tracy Bar?
Debugger::$showBar = /* ... */; // (bool) výchozí je true
Debugger::$editorMapping = [
// originál => nová
'/var/www/html' => '/data/web',
'/home/web' => '/srv/html',
];
Nette Framework
Pokud používáte Nette Framework, můžete konfigurovat Tracy a přidávat nové panely do Tracy Bar také pomocí konfiguračního souboru. V konfiguraci lze nastavovat parametry a také přidávat nové panely do Tracy Bar. Tyto nastavení se aplikují teprve po vytvoření DI kontejneru, takže chyby vzniklé předtím je nemohou reflektovat.
Konfigurace logování chyb:
tracy:
# e-mail, na který se posílají notifikace, že došlo k chybě
email: dev@example.com # (string|string[]) výchozí je nenastaveno
# odesílatel e-mailu
fromEmail: robot@example.com # (string) výchozí je nenastaveno
# doba odložení odeslání e-mailů (od Tracy 2.8.8)
emailSnooze: ... # (string) výchozí je '2 days'
# použít pro odesílání e-mailů Nette mailer? (od Tracy 2.5)
netteMailer: ... # (bool) výchozí je true
# pro jaké úrovně chyb se loguje i BlueScreen?
logSeverity: [E_WARNING, E_NOTICE] # výchozí je []
Konfigurace chování funkce dump()
:
tracy:
# maximální délka řetězce
maxLength: 150 # (int) výchozí dle verze Tracy
# maximální hloubka zanoření
maxDepth: 10 # (int) výchozí dle verze Tracy
# skrýt hodnoty těchto klíčů (od Tracy 2.8)
keysToHide: [password, pass] # (string[]) výchozí je []
# vizuální téma (od Tracy 2.8)
dumpTheme: dark # (light|dark) výchozí je 'light'
# zobrazit místo, kde byla volána funkce dump()?
showLocation: ... # (bool) výchozí dle verze Tracy
Instalace rozšíření Tracy:
tracy:
# přidá panely do Tracy Bar
bar:
- Nette\Bridges\DITracy\ContainerPanel
- IncludePanel
- XDebugHelper('myIdeKey')
- MyPanel(@MyService)
# přidá panely do BlueScreen
blueScreen:
- DoctrinePanel::renderException
Ostatní volby:
tracy:
# ve vývojovém režimu zobrazí chyby typu notice nebo warning jako BlueScreen
strictMode: ... # výchozí je true
# zobrazit umlčené (@) chybové hlášky?
scream: ... # výchozí je false
# formát odkazu pro otevření v editoru
editor: ... # (string) výchozí je 'editor://open/?file=%file&line=%line'
# cesta k šabloně s vlastní stránkou pro chybu 500
errorTemplate: ... # (string) výchozí je nenastaveno
# zobrazit Tracy Bar?
showBar: ... # (bool) výchozí je true
editorMapping:
# originál: nová
/var/www/html: /data/web
/home/web: /srv/html
Hodnoty voleb logSeverity
, strictMode
a scream
lze zapisovat jako pole chybových
úrovní (např. [E_WARNING, E_NOTICE]
), nebo jako výraz používaný v jazyce PHP (např.
E_ALL & ~E_NOTICE
).
Služby DI
Tyto služby se přidávají do DI kontejneru:
Název | Typ | Popis |
---|---|---|
tracy.logger |
Tracy\ILogger | logger |
tracy.blueScreen |
Tracy\BlueScreen | BlueScreen |
tracy.bar |
Tracy\Bar | Tracy Bar |