Configuración de Tracy

Los siguientes ejemplos asumen que el siguiente alias de clase está definido:

use Tracy\Debugger;

Registro de errores

$logger = Debugger::getLogger();

// si se ha producido un error la notificación se envía a este email
$logger->email = 'dev@example.com';      // (string|string[]) por defecto es unset

// remitente del correo electrónico
$logger->fromEmail = 'me@example.com';   // (string) por defecto unset

// rutina para enviar correo electrónico
$logger->mailer = /* ... */;             // (callable) por defecto se envía por mail()

// ¿después de qué tiempo enviar otro email?
$logger->emailSnooze = /* ... */;        // (string) por defecto es '2 días'

// ¿para qué niveles de error se registra también BlueScreen?
Debugger::$logSeverity = E_WARNING | E_NOTICE;  // por defecto 0 (sin nivel de error)

dump() Comportamiento

// longitud máxima de la cadena
Debugger::$maxLength = 150;              // (int) por defecto según Tracy

// profundidad de la lista
Debugger::$maxDepth = 10;                // (int) por defecto según Tracy

// ocultar los valores de estas claves (desde Tracy 2.8)
Debugger::$keysToHide = ['password', /* ... */];  // (string[]) por defecto []

// tema visual (desde Tracy 2.8)
Debugger::$dumpTheme = 'dark';           // (light|dark) por defecto 'light'

// ¿muestra la ubicación donde se llamó a dump()?
Debugger::$showLocation = /* ... */;     // (bool) por defecto según Tracy

Otros

// en modo Desarrollo, verá avisos o advertencias de error como BlueScreen
Debugger::$strictMode = /* ... */;       // (bool|int) por defecto false, puede seleccionar sólo niveles de error específicos (p.e. E_USER_DEPRECATED | E_DEPRECATED)

// muestra mensajes de error silenciosos (@)
Debugger::$scream = /* ... */;           // (bool|int) por defecto false, desde la versión 2.9 es posible seleccionar sólo niveles de error específicos (e.g. E_USER_DEPRECATED | E_DEPRECATED)

// formato del enlace a abrir en el editor
Debugger::$editor = /* ... */;           // (string|null) por defecto 'editor://open/?file=%file&line=%line'

// ruta a la plantilla con la página personalizada para el error 500
Debugger::$errorTemplate = /* ... */;    // (string) por defecto unset

// ¿muestra Tracy Bar?
Debugger::$showBar = /* ... */;          // (bool) por defecto true

Depurador::$editorMapping = [
	// original => nuevo
	'/var/www/html' => '/data/web',
	'/home/web' => '/srv/html',
];

Marco Nette

Si utiliza Nette Framework, también puede configurar Tracy y añadir nuevos paneles a Tracy Bar utilizando el archivo de configuración. Puede establecer los parámetros de Tracy en la configuración y también añadir nuevos paneles a la Tracy Bar. Estos ajustes se aplican sólo después de que se haya creado el contenedor DI, por lo que los errores ocurridos con anterioridad no pueden reflejarlos.

Configuración del registro de errores:

tracy:
	# si se ha producido un error la notificación se envía a este email
	email: dev@example.com           # (string|string[]) por defecto unset

	# remitente del correo electrónico
	fromEmail: robot@example.com     # (string) por defecto unset

	# periodo de aplazamiento de envío de emails (desde Tracy 2.8.8)
	emailSnooze: ...                 # (string) por defecto '2 días

	# ¿utilizar un mailer definido en la configuración? (desde Tracy 2.5)
	netteMailer: ...                 # (bool) por defecto true

	# ¿para qué niveles de error se registra también BlueScreen?
	logSeverity: [E_WARNING, E_NOTICE] # por defecto []

Configuración de la función dump():

tracy:
	# longitud máxima de la cadena
	maxLength: 150                 # (int) por defecto según Tracy

	# profundidad de la lista
	maxDepth: 10                   # (int) por defecto según Tracy

	# ocultar valores de estas claves (desde Tracy 2.8)
	keysToHide: [password, pass]   # (string[]) por defecto []

	# tema visual (desde Tracy 2.8)
	dumpTheme: dark                # (light|dark) por defecto a 'light'

	# ¿muestra la ubicación donde se llamó a dump()?
	showLocation: ...              # (bool) por defecto según Tracy

Para instalar la extensión Tracy:

tracy:
	# appends bars to Tracy Bar
	bar:
		- Nette\Bridges\DITracy\ContainerPanel
		- IncludePanel
		- XDebugHelper('myIdeKey')
		- MyPanel(@MyService)

	# añadir paneles a BlueScreen
	blueScreen:
		- DoctrinePanel::renderException

Otras opciones:

tracy:
	# en modo Desarrollo, verá avisos o advertencias de error como BlueScreen
	strictMode: ...           # por defecto a true

	# muestra mensajes de error silenciosos (@)
	scream: ...               # por defecto falso

	# formato de enlace para abrir en el editor
	editor: ...               # (string) por defecto 'editor://open/?file=%file&line=%line'

	# ruta a la plantilla con la página personalizada para el error 500
	errorTemplate: ...        # (string) por defecto unset

	# ¿muestra Tracy Bar?
	showBar: ...              # (bool) por defecto true

	editorMapping:
		# original: new
		/var/www/html: /data/web
		/home/web: /srv/html

Los valores de las opciones logSeverity, strictMode y scream pueden escribirse como una matriz de niveles de error (p. ej. [E_WARNING, E_NOTICE]) o como una expresión utilizada en PHP (por ejemplo, E_ALL & ~E_NOTICE).

Servicios DI

Estos servicios se añaden al contenedor DI:

Nombre Tipo Descripción
tracy.logger Tracy\ILogger Logger
tracy.blueScreen Tracy\BlueScreen BlueScreen
tracy.bar Tracy\Bar Tracy Bar