Konfiguracija Tracy
Vsi primeri predpostavljajo ustvarjen alias:
use Tracy\Debugger;
Dnevniško beleženje napak
$logger = Debugger::getLogger();
// e-pošta, na katero se pošiljajo obvestila o napakah
$logger->email = 'dev@example.com'; // (string|string[]) privzeto ni nastavljeno
// pošiljatelj e-pošte
$logger->fromEmail = 'me@example.com'; // (string) privzeto ni nastavljeno
// rutina, ki zagotavlja pošiljanje e-pošte
$logger->mailer = /* ... */; // (callable) privzeto je pošiljanje s funkcijo mail()
// po kakšnem najkrajšem času poslati naslednjo e-pošto?
$logger->emailSnooze = /* ... */; // (string) privzeto je '2 days'
// za katere ravni napak se beleži tudi BlueScreen?
Debugger::$logSeverity = E_WARNING | E_NOTICE; // privzeto je 0 (nobena raven napak)
Obnašanje dump()
// največja dolžina niza
Debugger::$maxLength = 150; // (int) privzeto glede na različico Tracy
// največja globina gnezdenja
Debugger::$maxDepth = 10; // (int) privzeto glede na različico Tracy
// skrij vrednosti teh ključev (od Tracy 2.8)
Debugger::$keysToHide = ['password', /* ... */]; // (string[]) privzeto je []
// vizualna tema (od Tracy 2.8)
Debugger::$dumpTheme = 'dark'; // (light|dark) privzeto je 'light'
// prikaži mesto, kjer je bila klicana funkcija dump()?
Debugger::$showLocation = /* ... */; // (bool) privzeto glede na različico Tracy
Ostalo
// v razvojnem načinu prikaže napake tipa notice ali warning kot BlueScreen
Debugger::$strictMode = /* ... */; // (bool|int) privzeto je false, možno je izbrati le nekatere ravni napak (npr. E_USER_DEPRECATED | E_DEPRECATED)
// prikaži utišana (@) sporočila o napakah?
Debugger::$scream = /* ... */; // (bool|int) privzeto je false, od različice 2.9 je možno izbrati le nekatere ravni napak (npr. E_USER_DEPRECATED | E_DEPRECATED)
// format povezave za odpiranje v urejevalniku
Debugger::$editor = /* ... */; // (string|null) privzeto je 'editor://open/?file=%file&line=%line'
// pot do predloge z lastno stranjo za napako 500
Debugger::$errorTemplate = /* ... */; // (string) privzeto ni nastavljeno
// prikaži Tracy Bar?
Debugger::$showBar = /* ... */; // (bool) privzeto je true
Debugger::$editorMapping = [
// original => nova
'/var/www/html' => '/data/web',
'/home/web' => '/srv/html',
];
Nette Framework
Če uporabljate Nette Framework, lahko konfigurirate Tracy in dodajate nove panele v Tracy Bar tudi s pomočjo konfiguracijske datoteke. V konfiguraciji lahko nastavljate parametre in dodajate nove panele v Tracy Bar. Te nastavitve se uporabijo šele po ustvarjanju DI vsebnika, zato napake, ki nastanejo pred tem, jih ne morejo odražati.
Konfiguracija dnevniškega beleženja napak:
tracy:
# e-pošta, na katero se pošiljajo obvestila o napakah
email: dev@example.com # (string|string[]) privzeto ni nastavljeno
# pošiljatelj e-pošte
fromEmail: robot@example.com # (string) privzeto ni nastavljeno
# čas zakasnitve pošiljanja e-pošte (od Tracy 2.8.8)
emailSnooze: ... # (string) privzeto je '2 days'
# uporabiti Nette mailer za pošiljanje e-pošte? (od Tracy 2.5)
netteMailer: ... # (bool) privzeto je true
# za katere ravni napak se beleži tudi BlueScreen?
logSeverity: [E_WARNING, E_NOTICE] # privzeto je []
Konfiguracija obnašanja funkcije dump()
:
tracy:
# največja dolžina niza
maxLength: 150 # (int) privzeto glede na različico Tracy
# največja globina gnezdenja
maxDepth: 10 # (int) privzeto glede na različico Tracy
# skrij vrednosti teh ključev (od Tracy 2.8)
keysToHide: [password, pass] # (string[]) privzeto je []
# vizualna tema (od Tracy 2.8)
dumpTheme: dark # (light|dark) privzeto je 'light'
# prikaži mesto, kjer je bila klicana funkcija dump()?
showLocation: ... # (bool) privzeto glede na različico Tracy
Namestitev razširitev Tracy:
tracy:
# doda panele v Tracy Bar
bar:
- Nette\Bridges\DITracy\ContainerPanel
- IncludePanel
- XDebugHelper('myIdeKey')
- MyPanel(@MyService)
# doda panele v BlueScreen
blueScreen:
- DoctrinePanel::renderException
Druge možnosti:
tracy:
# v razvojnem načinu prikaže napake tipa notice ali warning kot BlueScreen
strictMode: ... # privzeto je true
# prikaži utišana (@) sporočila o napakah?
scream: ... # privzeto je false
# format povezave za odpiranje v urejevalniku
editor: ... # (string) privzeto je 'editor://open/?file=%file&line=%line'
# pot do predloge z lastno stranjo za napako 500
errorTemplate: ... # (string) privzeto ni nastavljeno
# prikaži Tracy Bar?
showBar: ... # (bool) privzeto je true
editorMapping:
# original: nova
/var/www/html: /data/web
/home/web: /srv/html
Vrednosti možnosti logSeverity
, strictMode
in scream
lahko zapišete kot polje ravni
napak (npr. [E_WARNING, E_NOTICE]
) ali kot izraz, uporabljen v jeziku PHP (npr.
E_ALL & ~E_NOTICE
).
Storitve DI
Te storitve se dodajo v DI vsebnik:
Ime | Tip | Opis |
---|---|---|
tracy.logger |
Tracy\ILogger | logger |
tracy.blueScreen |
Tracy\BlueScreen | BlueScreen |
tracy.bar |
Tracy\Bar | Tracy Bar |