Configurarea Tracy
Toate exemplele presupun crearea unui alias:
use Tracy\Debugger;
Logarea erorilor
$logger = Debugger::getLogger();
// e-mailul la care se trimit notificările în caz de eroare
$logger->email = 'dev@example.com'; // (string|string[]) implicit este nesetat
// expeditorul e-mailului
$logger->fromEmail = 'me@example.com'; // (string) implicit este nesetat
// rutina care asigură trimiterea e-mailului
$logger->mailer = /* ... */; // (callable) implicit este trimiterea prin funcția mail()
// după ce interval minim de timp se trimite următorul e-mail?
$logger->emailSnooze = /* ... */; // (string) implicit este '2 days'
// pentru ce niveluri de eroare se loghează și BlueScreen?
Debugger::$logSeverity = E_WARNING | E_NOTICE; // implicit este 0 (niciun nivel de eroare)
Comportamentul dump()
// lungimea maximă a șirului
Debugger::$maxLength = 150; // (int) implicit depinde de versiunea Tracy
// adâncimea maximă de imbricare
Debugger::$maxDepth = 10; // (int) implicit depinde de versiunea Tracy
// ascunde valorile acestor chei (începând cu Tracy 2.8)
Debugger::$keysToHide = ['password', /* ... */]; // (string[]) implicit este []
// tema vizuală (începând cu Tracy 2.8)
Debugger::$dumpTheme = 'dark'; // (light|dark) implicit este 'light'
// afișează locul unde a fost apelată funcția dump()?
Debugger::$showLocation = /* ... */; // (bool) implicit depinde de versiunea Tracy
Altele
// în modul de dezvoltare, afișează erorile de tip notice sau warning ca BlueScreen
Debugger::$strictMode = /* ... */; // (bool|int) implicit este false, este posibil să selectați doar anumite niveluri de eroare (de ex. E_USER_DEPRECATED | E_DEPRECATED)
// afișează mesajele de eroare suprimate (@)?
Debugger::$scream = /* ... */; // (bool|int) implicit este false, începând cu versiunea 2.9 este posibil să selectați doar anumite niveluri de eroare (de ex. E_USER_DEPRECATED | E_DEPRECATED)
// formatul linkului pentru deschiderea în editor
Debugger::$editor = /* ... */; // (string|null) implicit este 'editor://open/?file=%file&line=%line'
// calea către șablonul cu pagina personalizată pentru eroarea 500
Debugger::$errorTemplate = /* ... */; // (string) implicit este nesetat
// afișează Tracy Bar?
Debugger::$showBar = /* ... */; // (bool) implicit este true
Debugger::$editorMapping = [
// original => nou
'/var/www/html' => '/data/web',
'/home/web' => '/srv/html',
];
Nette Framework
Dacă utilizați Nette Framework, puteți configura Tracy și adăuga noi panouri în Tracy Bar și prin intermediul fișierului de configurare. În configurație se pot seta parametrii și, de asemenea, se pot adăuga noi panouri în Tracy Bar. Aceste setări se aplică numai după crearea containerului DI, astfel încât erorile apărute înainte nu le pot reflecta.
Configurarea logării erorilor:
tracy:
# e-mailul la care se trimit notificările în caz de eroare
email: dev@example.com # (string|string[]) implicit este nesetat
# expeditorul e-mailului
fromEmail: robot@example.com # (string) implicit este nesetat
# perioada de amânare a trimiterii e-mailurilor (începând cu Tracy 2.8.8)
emailSnooze: ... # (string) implicit este '2 days'
# folosește Nette mailer pentru trimiterea e-mailurilor? (începând cu Tracy 2.5)
netteMailer: ... # (bool) implicit este true
# pentru ce niveluri de eroare se loghează și BlueScreen?
logSeverity: [E_WARNING, E_NOTICE] # implicit este []
Configurarea comportamentului funcției dump()
:
tracy:
# lungimea maximă a șirului
maxLength: 150 # (int) implicit depinde de versiunea Tracy
# adâncimea maximă de imbricare
maxDepth: 10 # (int) implicit depinde de versiunea Tracy
# ascunde valorile acestor chei (începând cu Tracy 2.8)
keysToHide: [password, pass] # (string[]) implicit este []
# tema vizuală (începând cu Tracy 2.8)
dumpTheme: dark # (light|dark) implicit este 'light'
# afișează locul unde a fost apelată funcția dump()?
showLocation: ... # (bool) implicit depinde de versiunea Tracy
Instalarea extensiilor Tracy:
tracy:
# adaugă panouri în Tracy Bar
bar:
- Nette\Bridges\DITracy\ContainerPanel
- IncludePanel
- XDebugHelper('myIdeKey')
- MyPanel(@MyService)
# adaugă panouri în BlueScreen
blueScreen:
- DoctrinePanel::renderException
Alte opțiuni:
tracy:
# în modul de dezvoltare, afișează erorile de tip notice sau warning ca BlueScreen
strictMode: ... # implicit este true
# afișează mesajele de eroare suprimate (@)?
scream: ... # implicit este false
# formatul linkului pentru deschiderea în editor
editor: ... # (string) implicit este 'editor://open/?file=%file&line=%line'
# calea către șablonul cu pagina personalizată pentru eroarea 500
errorTemplate: ... # (string) implicit este nesetat
# afișează Tracy Bar?
showBar: ... # (bool) implicit este true
editorMapping:
# original: nou
/var/www/html: /data/web
/home/web: /srv/html
Valorile opțiunilor logSeverity
, strictMode
și scream
pot fi scrise ca un array de
niveluri de eroare (de ex. [E_WARNING, E_NOTICE]
) sau ca o expresie utilizată în limbajul PHP (de ex.
E_ALL & ~E_NOTICE
).
Servicii DI
Aceste servicii sunt adăugate în containerul DI:
Nume | Tip | Descriere |
---|---|---|
tracy.logger |
Tracy\ILogger | logger |
tracy.blueScreen |
Tracy\BlueScreen | BlueScreen |
tracy.bar |
Tracy\Bar | Tracy Bar |