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 |