Configurazione di Tracy
Gli esempi seguenti presuppongono che sia definito questo alias di classe:
use Tracy\Debugger;
Logging degli errori
$logger = Debugger::getLogger();
// email a cui inviare le notifiche di errore
$logger->email = 'dev@example.com'; // (string|string[]) predefinito non impostato
// mittente delle email
$logger->fromEmail = 'me@example.com'; // (string) predefinito non impostato
// routine per l'invio delle email
$logger->mailer = /* ... */; // (callable) per impostazione predefinita invia con mail()
// intervallo minimo per l'invio delle email successive?
$logger->emailSnooze = /* ... */; // (string) predefinito '2 days'
// per quali livelli di errore viene registrata anche la BlueScreen?
Debugger::$logSeverity = E_WARNING | E_NOTICE; // predefinito 0 (nessun livello di errore)
Comportamento di dump()
// lunghezza massima delle stringhe
Debugger::$maxLength = 150; // (int) predefinito secondo la versione di Tracy
// profondità massima di annidamento
Debugger::$maxDepth = 10; // (int) predefinito secondo la versione di Tracy
// numero massimo di elementi di array/oggetti mostrati
Debugger::$maxItems = 100; // (int) predefinito secondo la versione di Tracy
// nasconde i valori di queste chiavi (da Tracy 2.8)
Debugger::$keysToHide = ['password', /* ... */]; // (string[]) predefinito []
// tema visivo (da Tracy 2.8)
Debugger::$dumpTheme = 'dark'; // (light|dark) predefinito 'light'
// mostrare il punto in cui è stato chiamato dump()?
Debugger::$showLocation = /* ... */; // (bool) predefinito secondo la versione di Tracy
Altro
// in modalità di sviluppo mostra gli errori di tipo notice o warning come BlueScreen
Debugger::$strictMode = /* ... */; // (bool|int) predefinito false, si possono scegliere livelli di errore specifici (per esempio E_USER_DEPRECATED | E_DEPRECATED)
// mostrare i messaggi di errore silenziati (@)?
Debugger::$scream = /* ... */; // (bool|int) predefinito false, dalla versione 2.9 si possono scegliere livelli di errore specifici (per esempio E_USER_DEPRECATED | E_DEPRECATED)
// formato del link per aprire nell'editor
Debugger::$editor = /* ... */; // (string|null) predefinito 'editor://%action/?file=%file&line=%line&search=%search&replace=%replace'
// percorso del template con la pagina personalizzata per l'errore 500
Debugger::$errorTemplate = /* ... */; // (string) predefinito non impostato
// mostrare la Tracy Bar?
Debugger::$showBar = /* ... */; // (bool) predefinito true
// comando per aprire il browser con la BlueScreen registrata (per esempio in CLI)
Debugger::$browser = /* ... */; // (string) predefinito non impostato
// array di funzioni chiamate dopo un errore fatale o un'eccezione non catturata
Debugger::$onFatalError[] = function (Throwable $e) { /* ... */ };
Debugger::$editorMapping = [
// originale => nuovo
'/var/www/html' => '/data/web',
'/home/web' => '/srv/html',
];
Nette Framework
Se usate il Nette Framework, potete configurare Tracy e aggiungere nuovi pannelli alla Tracy Bar tramite il file di configurazione. Nella configurazione potete impostare i parametri e aggiungere nuovi pannelli alla Tracy Bar. Queste impostazioni vengono applicate solo dopo la creazione del container DI, perciò gli errori che si verificano prima non possono tenerne conto.
Configurazione del logging degli errori:
tracy:
# email a cui inviare le notifiche di errore
email: dev@example.com # (string|string[]) predefinito non impostato
# mittente delle email
fromEmail: robot@example.com # (string) predefinito non impostato
# tempo di attesa tra gli invii delle email (da Tracy 2.8.8)
emailSnooze: ... # (string) predefinito '2 days'
# usare il mailer di Nette per inviare le email? (da Tracy 2.5)
netteMailer: ... # (bool) predefinito true
# per quali livelli di errore viene registrata anche la BlueScreen?
logSeverity: [E_WARNING, E_NOTICE] # predefinito 0
Configurazione della funzione dump():
tracy:
# lunghezza massima delle stringhe
maxLength: 150 # (int) predefinito secondo la versione di Tracy
# profondità massima di annidamento
maxDepth: 10 # (int) predefinito secondo la versione di Tracy
# numero massimo di elementi di array/oggetti mostrati
maxItems: 100 # (int) predefinito secondo la versione di Tracy
# nasconde i valori di queste chiavi (da Tracy 2.8)
keysToHide: [password, pass] # (string[]) predefinito []
# tema visivo (da Tracy 2.8)
dumpTheme: dark # (light|dark) predefinito 'light'
# mostrare il punto in cui è stato chiamato dump()?
showLocation: ... # (bool) predefinito secondo la versione di Tracy
Installazione delle estensioni di Tracy:
tracy:
# aggiunge pannelli alla Tracy Bar
bar:
- Nette\Bridges\DITracy\ContainerPanel
- IncludePanel
- XDebugHelper('myIdeKey')
- MyPanel(@MyService)
# aggiunge pannelli alla BlueScreen
blueScreen:
- DoctrinePanel::renderException
Altre opzioni:
tracy:
# in modalità di sviluppo mostra gli errori di tipo notice o warning come BlueScreen
strictMode: ... # predefinito false
# mostrare i messaggi di errore silenziati (@)?
scream: ... # predefinito false
# formato del link per aprire nell'editor
editor: ... # (string) predefinito 'editor://%action/?file=%file&line=%line&search=%search&replace=%replace'
# percorso del template con la pagina personalizzata per l'errore 500
errorTemplate: ... # (string) predefinito non impostato
# mostrare la Tracy Bar?
showBar: ... # (bool) predefinito true
# comando per aprire il browser con la BlueScreen registrata (per esempio in CLI)
browser: ... # (string) predefinito non impostato
editorMapping:
# originale: nuovo
/var/www/html: /data/web
/home/web: /srv/html
I valori delle opzioni logSeverity, strictMode e scream si possono scrivere come array
di livelli di errore (per esempio [E_WARNING, E_NOTICE]) oppure come espressione usata in PHP (per esempio
E_ALL & ~E_NOTICE).
Servizi DI
Al container DI vengono aggiunti questi servizi:
| Nome | Tipo | Descrizione |
|---|---|---|
tracy.logger |
Tracy\ILogger | logger |
tracy.blueScreen |
Tracy\BlueScreen | BlueScreen |
tracy.bar |
Tracy\Bar | Tracy Bar |