Configuração do Tracy
Todos os exemplos pressupõem a criação de um alias:
use Tracy\Debugger;
Registro de erros
$logger = Debugger::getLogger();
// e-mail para o qual as notificações de erro são enviadas
$logger->email = 'dev@example.com'; // (string|string[]) padrão é não definido
// remetente do e-mail
$logger->fromEmail = 'me@example.com'; // (string) padrão é não definido
// rotina que garante o envio do e-mail
$logger->mailer = /* ... */; // (callable) padrão é enviar usando a função mail()
// após qual período mínimo enviar outro e-mail?
$logger->emailSnooze = /* ... */; // (string) padrão é '2 days'
// para quais níveis de erro o BlueScreen também é registrado?
Debugger::$logSeverity = E_WARNING | E_NOTICE; // padrão é 0 (nenhum nível de erro)
Comportamento do dump()
// comprimento máximo da string
Debugger::$maxLength = 150; // (int) padrão depende da versão do Tracy
// profundidade máxima de aninhamento
Debugger::$maxDepth = 10; // (int) padrão depende da versão do Tracy
// ocultar valores destas chaves (desde Tracy 2.8)
Debugger::$keysToHide = ['password', /* ... */]; // (string[]) padrão é []
// tema visual (desde Tracy 2.8)
Debugger::$dumpTheme = 'dark'; // (light|dark) padrão é 'light'
// mostrar o local onde a função dump() foi chamada?
Debugger::$showLocation = /* ... */; // (bool) padrão depende da versão do Tracy
Outros
// no modo de desenvolvimento, exibe erros do tipo notice ou warning como BlueScreen
Debugger::$strictMode = /* ... */; // (bool|int) padrão é false, é possível selecionar apenas alguns níveis de erro (ex: E_USER_DEPRECATED | E_DEPRECATED)
// mostrar mensagens de erro silenciadas (@)?
Debugger::$scream = /* ... */; // (bool|int) padrão é false, desde a versão 2.9 é possível selecionar apenas alguns níveis de erro (ex: E_USER_DEPRECATED | E_DEPRECATED)
// formato do link para abrir no editor
Debugger::$editor = /* ... */; // (string|null) padrão é 'editor://open/?file=%file&line=%line'
// caminho para o template com a página personalizada para o erro 500
Debugger::$errorTemplate = /* ... */; // (string) padrão é não definido
// mostrar a Tracy Bar?
Debugger::$showBar = /* ... */; // (bool) padrão é true
Debugger::$editorMapping = [
// original => novo
'/var/www/html' => '/data/web',
'/home/web' => '/srv/html',
];
Nette Framework
Se você estiver usando o Nette Framework, pode configurar o Tracy e adicionar novos painéis à Tracy Bar também através do arquivo de configuração. Na configuração, é possível definir parâmetros e também adicionar novos painéis à Tracy Bar. Essas configurações são aplicadas somente após a criação do contêiner de DI, portanto, erros ocorridos antes disso não podem refleti-las.
Configuração do registro de erros:
tracy:
# e-mail para o qual as notificações de erro são enviadas
email: dev@example.com # (string|string[]) padrão é não definido
# remetente do e-mail
fromEmail: robot@example.com # (string) padrão é não definido
# período de adiamento do envio de e-mails (desde Tracy 2.8.8)
emailSnooze: ... # (string) padrão é '2 days'
# usar o Nette mailer para enviar e-mails? (desde Tracy 2.5)
netteMailer: ... # (bool) padrão é true
# para quais níveis de erro o BlueScreen também é registrado?
logSeverity: [E_WARNING, E_NOTICE] # padrão é []
Configuração do comportamento da função dump()
:
tracy:
# comprimento máximo da string
maxLength: 150 # (int) padrão depende da versão do Tracy
# profundidade máxima de aninhamento
maxDepth: 10 # (int) padrão depende da versão do Tracy
# ocultar valores destas chaves (desde Tracy 2.8)
keysToHide: [password, pass] # (string[]) padrão é []
# tema visual (desde Tracy 2.8)
dumpTheme: dark # (light|dark) padrão é 'light'
# mostrar o local onde a função dump() foi chamada?
showLocation: ... # (bool) padrão depende da versão do Tracy
Instalação de extensões do Tracy:
tracy:
# adiciona painéis à Tracy Bar
bar:
- Nette\Bridges\DITracy\ContainerPanel
- IncludePanel
- XDebugHelper('myIdeKey')
- MyPanel(@MyService)
# adiciona painéis ao BlueScreen
blueScreen:
- DoctrinePanel::renderException
Outras opções:
tracy:
# no modo de desenvolvimento, exibe erros do tipo notice ou warning como BlueScreen
strictMode: ... # padrão é true
# mostrar mensagens de erro silenciadas (@)?
scream: ... # padrão é false
# formato do link para abrir no editor
editor: ... # (string) padrão é 'editor://open/?file=%file&line=%line'
# caminho para o template com a página personalizada para o erro 500
errorTemplate: ... # (string) padrão é não definido
# mostrar a Tracy Bar?
showBar: ... # (bool) padrão é true
editorMapping:
# original: novo
/var/www/html: /data/web
/home/web: /srv/html
Os valores das opções logSeverity
, strictMode
e scream
podem ser escritos como um
array de níveis de erro (ex: [E_WARNING, E_NOTICE]
), ou como uma expressão usada na linguagem PHP (ex:
E_ALL & ~E_NOTICE
).
Serviços de DI
Estes serviços são adicionados ao contêiner de DI:
Nome | Tipo | Descrição |
---|---|---|
tracy.logger |
Tracy\ILogger | logger |
tracy.blueScreen |
Tracy\BlueScreen | BlueScreen |
tracy.bar |
Tracy\Bar | Tracy Bar |