Configurazione di Tracy

Tutti gli esempi presuppongono la creazione di un alias:

use Tracy\Debugger;

Logging degli errori

$logger = Debugger::getLogger();

// e-mail a cui vengono inviate le notifiche in caso di errore
$logger->email = 'dev@example.com';      // (string|string[]) il default è non impostato

// mittente dell'e-mail
$logger->fromEmail = 'me@example.com';   // (string) il default è non impostato

// routine che garantisce l'invio dell'email
$logger->mailer = /* ... */;             // (callable) il default è l'invio tramite la funzione mail()

// dopo quanto tempo minimo inviare la prossima email?
$logger->emailSnooze = /* ... */;        // (string) il default è '2 days'

// per quali livelli di errore viene registrato anche il BlueScreen?
Debugger::$logSeverity = E_WARNING | E_NOTICE;  // il default è 0 (nessun livello di errore)

Comportamento di dump()

// lunghezza massima della stringa
Debugger::$maxLength = 150;              // (int) default secondo la versione di Tracy

// profondità massima di annidamento
Debugger::$maxDepth = 10;                // (int) default secondo la versione di Tracy

// nascondere i valori di queste chiavi (da Tracy 2.8)
Debugger::$keysToHide = ['password', /* ... */];  // (string[]) il default è []

// tema visivo (da Tracy 2.8)
Debugger::$dumpTheme = 'dark';           // (light|dark) il default è 'light'

// mostrare il punto in cui è stata chiamata la funzione dump()?
Debugger::$showLocation = /* ... */;     // (bool) default secondo la versione di Tracy

Altro

// in modalità sviluppo, mostra gli errori di tipo notice o warning come BlueScreen
Debugger::$strictMode = /* ... */;       // (bool|int) il default è false, è possibile selezionare solo alcuni livelli di errore (es. E_USER_DEPRECATED | E_DEPRECATED)

// mostrare i messaggi di errore soppressi (@)?
Debugger::$scream = /* ... */;           // (bool|int) il default è false, dalla versione 2.9 è possibile selezionare solo alcuni livelli di errore (es. E_USER_DEPRECATED | E_DEPRECATED)

// formato del link per l'apertura nell'editor
Debugger::$editor = /* ... */;           // (string|null) il default è 'editor://open/?file=%file&line=%line'

// percorso del template con la pagina personalizzata per l'errore 500
Debugger::$errorTemplate = /* ... */;    // (string) il default è non impostato

// mostrare la Tracy Bar?
Debugger::$showBar = /* ... */;          // (bool) il default è true

Debugger::$editorMapping = [
	// originale => nuovo
	'/var/www/html' => '/data/web',
	'/home/web' => '/srv/html',
];

Nette Framework

Se si utilizza Nette Framework, è possibile configurare Tracy e aggiungere nuovi pannelli alla Tracy Bar anche tramite il file di configurazione. Nella configurazione è possibile impostare parametri e aggiungere nuovi pannelli alla Tracy Bar. Queste impostazioni vengono applicate solo dopo la creazione del container DI, quindi gli errori verificatisi prima non possono rifletterle.

Configurazione del logging degli errori:

tracy:
	# e-mail a cui vengono inviate le notifiche in caso di errore
	email: dev@example.com           # (string|string[]) il default è non impostato

	# mittente dell'e-mail
	fromEmail: robot@example.com     # (string) il default è non impostato

	# periodo di rinvio dell'invio delle e-mail (da Tracy 2.8.8)
	emailSnooze: ...                 # (string) il default è '2 days'

	# utilizzare Nette mailer per l'invio delle e-mail? (da Tracy 2.5)
	netteMailer: ...                 # (bool) il default è true

	# per quali livelli di errore viene registrato anche il BlueScreen?
	logSeverity: [E_WARNING, E_NOTICE]  # il default è []

Configurazione del comportamento della funzione dump():

tracy:
	# lunghezza massima della stringa
	maxLength: 150                # (int) default secondo la versione di Tracy

	# profondità massima di annidamento
	maxDepth: 10                  # (int) default secondo la versione di Tracy

	# nascondere i valori di queste chiavi (da Tracy 2.8)
	keysToHide: [password, pass]  # (string[]) il default è []

	# tema visivo (da Tracy 2.8)
	dumpTheme: dark               # (light|dark) il default è 'light'

	# mostrare il punto in cui è stata chiamata la funzione dump()?
	showLocation: ...             # (bool) default 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 al BlueScreen
	blueScreen:
		- DoctrinePanel::renderException

Altre opzioni:

tracy:
	# in modalità sviluppo, mostra gli errori di tipo notice o warning come BlueScreen
	strictMode: ...           # il default è true

	# mostrare i messaggi di errore soppressi (@)?
	scream: ...               # il default è false

	# formato del link per l'apertura nell'editor
	editor: ...               # (string) il default è 'editor://open/?file=%file&line=%line'

	# percorso del template con la pagina personalizzata per l'errore 500
	errorTemplate: ...        # (string) il default è non impostato

	# mostrare la Tracy Bar?
	showBar: ...              # (bool) il default è true

	editorMapping:
		# originale: nuovo
		/var/www/html: /data/web
		/home/web: /srv/html

I valori delle opzioni logSeverity, strictMode e scream possono essere scritti come un array di livelli di errore (es. [E_WARNING, E_NOTICE]), o come un'espressione utilizzata nel linguaggio PHP (es. E_ALL & ~E_NOTICE).

Servizi DI

Questi servizi vengono aggiunti al container DI:

Nome Tipo Descrizione
tracy.logger Tracy\ILogger logger
tracy.blueScreen Tracy\BlueScreen BlueScreen
tracy.bar Tracy\Bar Tracy Bar