Configuración de Tracy

Todos los ejemplos asumen que se ha creado un alias:

use Tracy\Debugger;

Registro de errores

$logger = Debugger::getLogger();

// correo electrónico al que se envían las notificaciones de que ha ocurrido un error
$logger->email = 'dev@example.com';      // (string|string[]) por defecto no está configurado

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

// rutina que asegura el envío del correo electrónico
$logger->mailer = /* ... */;             // (callable) por defecto es el envío mediante la función mail()

// ¿después de cuánto tiempo mínimo enviar el siguiente correo electrónico?
$logger->emailSnooze = /* ... */;        // (string) por defecto es '2 days'

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

Comportamiento de dump()

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

// profundidad máxima de anidamiento
Debugger::$maxDepth = 10;                // (int) por defecto según la versión de Tracy

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

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

// ¿mostrar el lugar donde se llamó a la función dump()?
Debugger::$showLocation = /* ... */;     // (bool) por defecto según la versión de Tracy

Otros

// en modo de desarrollo, muestra errores de tipo notice o warning como BlueScreen
Debugger::$strictMode = /* ... */;       // (bool|int) por defecto es false, es posible seleccionar solo algunos niveles de error (p.ej. E_USER_DEPRECATED | E_DEPRECATED)

// ¿mostrar mensajes de error silenciados (@)?
Debugger::$scream = /* ... */;           // (bool|int) por defecto es false, desde la versión 2.9 es posible seleccionar solo algunos niveles de error (p.ej. E_USER_DEPRECATED | E_DEPRECATED)

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

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

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

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

Nette Framework

Si utilizas Nette Framework, puedes configurar Tracy y añadir nuevos paneles a la Tracy Bar también mediante el archivo de configuración. En la configuración se pueden establecer parámetros y también añadir nuevos paneles a la Tracy Bar. Estos ajustes se aplican solo después de la creación del contenedor DI, por lo que los errores que ocurran antes no pueden reflejarlos.

Configuración del registro de errores:

tracy:
	# correo electrónico al que se envían las notificaciones de que ha ocurrido un error
	email: dev@example.com           # (string|string[]) por defecto no está configurado

	# remitente del correo electrónico
	fromEmail: robot@example.com     # (string) por defecto no está configurado

	# tiempo de aplazamiento del envío de correos electrónicos (desde Tracy 2.8.8)
	emailSnooze: ...                 # (string) por defecto es '2 days'

	# ¿usar el Nette mailer para enviar correos electrónicos? (desde Tracy 2.5)
	netteMailer: ...                 # (bool) por defecto es true

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

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

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

	# profundidad máxima de anidamiento
	maxDepth: 10                  # (int) por defecto según la versión de Tracy

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

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

	# ¿mostrar el lugar donde se llamó a la función dump()?
	showLocation: ...             # (bool) por defecto según la versión de Tracy

Instalación de extensiones de Tracy:

tracy:
	# añade paneles a la Tracy Bar
	bar:
		- Nette\Bridges\DITracy\ContainerPanel
		- IncludePanel
		- XDebugHelper('myIdeKey')
		- MyPanel(@MyService)

	# añade paneles al BlueScreen
	blueScreen:
		- DoctrinePanel::renderException

Otras opciones:

tracy:
	# en modo de desarrollo, muestra errores de tipo notice o warning como BlueScreen
	strictMode: ...           # por defecto es true

	# ¿mostrar mensajes de error silenciados (@)?
	scream: ...               # por defecto es false

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

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

	# ¿mostrar la Tracy Bar?
	showBar: ...              # (bool) por defecto es true

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

Los valores de las opciones logSeverity, strictMode y scream se pueden escribir como un array de niveles de error (p.ej. [E_WARNING, E_NOTICE]), o como una expresión utilizada en el lenguaje PHP (p.ej. 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