Configurazione Tracy

Gli esempi seguenti presuppongono che sia definito il seguente alias di classe:

use Tracy\Debugger;

Registrazione degli errori

$logger = Debugger::getLogger();

// se si è verificato un errore, la notifica viene inviata a questa email
$logger->email = 'dev@example.com'; // (string|string[]) predefinito come non impostato

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

// routine per l'invio di e-mail
$logger->mailer = /* ... */; // (richiamabile) predefinita per l'invio tramite mail()

// dopo quanto tempo inviare un'altra email?
$logger->emailSnooze = /* ... */; // (string) l'impostazione predefinita è "2 giorni".

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

dump() Comportamento

// lunghezza massima della stringa
Debugger::$maxLength = 150; // (int) predefinito secondo Tracy

// profondità dell'elenco
Debugger::$maxDepth = 10; // (int) predefinito secondo Tracy

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

// tema visivo (da Tracy 2.8)
Debugger::$dumpTheme = 'dark'; // (light|dark) predefinito a 'light'

// mostra la posizione in cui è stato chiamato dump()?
Debugger::$showLocation = /* ... */; // (bool) predefinito secondo Tracy

Altri

// in modalità Sviluppo, si vedranno gli avvisi di avviso o di errore come BlueScreen
Debugger::$strictMode = /* ... */; // (bool|int) predefinito a false, si possono selezionare solo livelli di errore specifici (ad esempio E_USER_DEPRECATED | E_DEPRECATED)

// visualizza i messaggi di errore silenziosi (@)
Debugger::$scream = /* ... */; // (bool|int) predefinito a false, dalla versione 2.9 è possibile selezionare solo livelli di errore specifici (ad es. E_USER_DEPRECATED | E_DEPRECATED)

// formato del collegamento da aprire nell'editor
Debugger::$editor = /* ... */; // (string|null) predefinito a "editor://open/?file=%file&line=%line".

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

// mostra la barra Tracy?
Debugger::$showBar = /* ... */; // (bool) predefinito a true

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

Struttura Nette

Se si utilizza Nette Framework, è possibile configurare Tracy e aggiungere nuovi pannelli alla barra Tracy utilizzando il file di configurazione. È possibile impostare i parametri di Tracy nella configurazione e aggiungere nuovi pannelli alla barra Tracy. Queste impostazioni vengono applicate solo dopo la creazione del contenitore DI, quindi gli errori verificatisi in precedenza non possono riflettersi.

Configurazione della registrazione degli errori:

tracy:
	# se si è verificato un errore, la notifica viene inviata a questa email
	email: dev@example.com           # (string|string[]) predefinito a non impostato

	# mittente dell'email
	fromEmail: robot@example.com     # (string) predefinito a unset

	# periodo di rinvio dell'invio delle email (da Tracy 2.8.8)
	emailSnooze: ...                 # (string) predefinito a '2 giorni'.

	# utilizzare un mailer definito nella configurazione? (da Tracy 2.5)
	netteMailer: ...                 # (bool) predefinito a true

	# per quali livelli di errore viene registrato anche BlueScreen?
	logSeverity: [E_WARNING, E_NOTICE] # predefinito a []

Configurazione per la funzione dump():

tracy:
	# lunghezza massima della stringa
	maxLength: 150                # (int) predefinito secondo Tracy

	# quanta profondità avrà l'elenco
	maxDepth: 10                  # (int) predefinito secondo Tracy

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

	# tema visivo (da Tracy 2.8)
	dumpTheme: dark               # (light|dark) predefinito a "light".

	# mostra la posizione in cui è stato chiamato dump()?
	showLocation: ...             # (bool) predefinito secondo Tracy

Per installare l'estensione Tracy:

tracy:
	# aggiunge le barre alla barra Tracy
	bar:
		- Nette\Bridges\DITracy\ContainerPanel
		- IncludePanel
		- XDebugHelper('myIdeKey')
		- MyPanel(@MyService)

	# aggiunge pannelli a BlueScreen
	blueScreen:
		- DoctrinePanel::renderException

Altre opzioni:

tracy:
	# in modalità Sviluppo, si vedranno gli avvisi di avviso o di errore come BlueScreen
	strictMode: ...           # predefinito a true

	# visualizza i messaggi di errore silenziosi (@)
	scream: ...               # predefinito a false

	# formato del collegamento da aprire nell'editor
	editor: ...               # (string) predefinito a "editor://open/?file=%file&line=%line".

	# percorso del template con la pagina personalizzata per l'errore 500
	errorTemplate: ...        # (string) predefinito a unset

	# mostra la barra Tracy?
	showBar: ...              # (bool) predefinito a 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 (ad es. [E_WARNING, E_NOTICE]) o come espressione utilizzata in PHP (ad esempio E_ALL & ~E_NOTICE).

Servizi DI

Questi servizi vengono aggiunti al contenitore DI:

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