Configuración de Tracy
Los siguientes ejemplos dan por hecho que está definido este alias de clase:
use Tracy\Debugger;
Registro de errores
$logger = Debugger::getLogger();
// correo(s) a los que enviar las notificaciones de error
$logger->email = 'dev@example.com'; // (string|string[]) sin establecer de forma predeterminada
// remitente del correo
$logger->fromEmail = 'me@example.com'; // (string) sin establecer de forma predeterminada
// rutina para enviar el correo
$logger->mailer = /* ... */; // (callable) de forma predeterminada, el envío con mail()
// intervalo mínimo para enviar los siguientes correos
$logger->emailSnooze = /* ... */; // (string) el valor predeterminado es '2 days'
// ¿para qué niveles de error se registra también la BlueScreen?
Debugger::$logSeverity = E_WARNING | E_NOTICE; // el valor predeterminado es 0 (ningún nivel de error)
Comportamiento de dump()
// longitud máxima de las cadenas
Debugger::$maxLength = 150; // (int) el valor predeterminado depende de la versión de Tracy
// profundidad máxima de anidamiento
Debugger::$maxDepth = 10; // (int) el valor predeterminado depende de la versión de Tracy
// número máximo de elementos de array u objeto que se muestran
Debugger::$maxItems = 100; // (int) el valor predeterminado depende de la versión de Tracy
// oculta los valores de estas claves (desde Tracy 2.8)
Debugger::$keysToHide = ['password', /* ... */]; // (string[]) el valor predeterminado es []
// tema visual (desde Tracy 2.8)
Debugger::$dumpTheme = 'dark'; // (light|dark) el valor predeterminado es 'light'
// ¿mostrar el lugar desde el que se llamó a dump()?
Debugger::$showLocation = /* ... */; // (bool) el valor predeterminado depende de la versión de Tracy
Otros
// en modo de desarrollo, muestra los errores de tipo notice o warning como BlueScreen
Debugger::$strictMode = /* ... */; // (bool|int) el valor predeterminado es false; se pueden elegir niveles de error concretos (p. ej. E_USER_DEPRECATED | E_DEPRECATED)
// ¿mostrar los mensajes de error silenciados (@)?
Debugger::$scream = /* ... */; // (bool|int) el valor predeterminado es false; desde la versión 2.9 se pueden elegir niveles de error concretos (p. ej. E_USER_DEPRECATED | E_DEPRECATED)
// formato del enlace para abrir en el editor
Debugger::$editor = /* ... */; // (string|null) el valor predeterminado es 'editor://%action/?file=%file&line=%line&search=%search&replace=%replace'
// ruta a la plantilla con la página propia para el error 500
Debugger::$errorTemplate = /* ... */; // (string) sin establecer de forma predeterminada
// ¿mostrar la Tracy Bar?
Debugger::$showBar = /* ... */; // (bool) el valor predeterminado es true
// comando para abrir el navegador con la BlueScreen registrada (p. ej. en la CLI)
Debugger::$browser = /* ... */; // (string) sin establecer de forma predeterminada
// array de funciones que se llaman tras un error fatal o una excepción no capturada
Debugger::$onFatalError[] = function (Throwable $e) { /* ... */ };
Debugger::$editorMapping = [
// original => nuevo
'/var/www/html' => '/data/web',
'/home/web' => '/srv/html',
];
Nette Framework
Si usa Nette Framework, puede configurar Tracy y añadir nuevos paneles a la Tracy Bar desde el archivo de configuración. En la configuración puede establecer parámetros y añadir nuevos paneles a la Tracy Bar. Estos ajustes se aplican solo después de crear el contenedor DI, así que los errores que ocurran antes no pueden reflejarlos.
Configuración del registro de errores:
tracy:
# correo(s) a los que enviar las notificaciones de error
email: dev@example.com # (string|string[]) sin establecer de forma predeterminada
# remitente del correo
fromEmail: robot@example.com # (string) sin establecer de forma predeterminada
# tiempo de espera entre envíos de correo (desde Tracy 2.8.8)
emailSnooze: ... # (string) el valor predeterminado es '2 days'
# ¿usar el mailer de Nette para enviar los correos? (desde Tracy 2.5)
netteMailer: ... # (bool) el valor predeterminado es true
# ¿para qué niveles de error se registra también la BlueScreen?
logSeverity: [E_WARNING, E_NOTICE] # el valor predeterminado es 0
Configuración de la función dump():
tracy:
# longitud máxima de las cadenas
maxLength: 150 # (int) el valor predeterminado depende de la versión de Tracy
# profundidad máxima de anidamiento
maxDepth: 10 # (int) el valor predeterminado depende de la versión de Tracy
# número máximo de elementos de array u objeto que se muestran
maxItems: 100 # (int) el valor predeterminado depende de la versión de Tracy
# oculta los valores de estas claves (desde Tracy 2.8)
keysToHide: [password, pass] # (string[]) el valor predeterminado es []
# tema visual (desde Tracy 2.8)
dumpTheme: dark # (light|dark) el valor predeterminado es 'light'
# ¿mostrar el lugar desde el que se llamó a dump()?
showLocation: ... # (bool) el valor predeterminado depende de 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 a la BlueScreen
blueScreen:
- DoctrinePanel::renderException
Otras opciones:
tracy:
# en modo de desarrollo, muestra los errores de tipo notice o warning como BlueScreen
strictMode: ... # el valor predeterminado es false
# ¿mostrar los mensajes de error silenciados (@)?
scream: ... # el valor predeterminado es false
# formato del enlace para abrir en el editor
editor: ... # (string) el valor predeterminado es 'editor://%action/?file=%file&line=%line&search=%search&replace=%replace'
# ruta a la plantilla con la página propia para el error 500
errorTemplate: ... # (string) sin establecer de forma predeterminada
# ¿mostrar la Tracy Bar?
showBar: ... # (bool) el valor predeterminado es true
# comando para abrir el navegador con la BlueScreen registrada (p. ej. en la CLI)
browser: ... # (string) sin establecer de forma predeterminada
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
array de niveles de error (p. ej. [E_WARNING, E_NOTICE]) o como una expresión de las que se usan en 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 |