Конфигурация на Tracy
Всички примери предполагат създаден псевдоним (alias):
use Tracy\Debugger;
Логване на грешки
$logger = Debugger::getLogger();
// имейл, на който се изпращат известия, че е възникнала грешка
$logger->email = 'dev@example.com'; // (string|string[]) по подразбиране не е зададено
// изпращач на имейла
$logger->fromEmail = 'me@example.com'; // (string) по подразбиране не е зададено
// рутина, осигуряваща изпращането на имейл
$logger->mailer = /* ... */; // (callable) по подразбиране е изпращане чрез функцията mail()
// след колко най-кратко време да се изпрати следващият имейл?
$logger->emailSnooze = /* ... */; // (string) по подразбиране е '2 days'
// за кои нива на грешки се логва и BlueScreen?
Debugger::$logSeverity = E_WARNING | E_NOTICE; // по подразбиране е 0 (никакви нива на грешки)
Поведение на dump()
// максимална дължина на низа
Debugger::$maxLength = 150; // (int) по подразбиране според версията на Tracy
// максимална дълбочина на влагане
Debugger::$maxDepth = 10; // (int) по подразбиране според версията на Tracy
// скриване на стойностите на тези ключове (от Tracy 2.8)
Debugger::$keysToHide = ['password', /* ... */]; // (string[]) по подразбиране е []
// визуална тема (от Tracy 2.8)
Debugger::$dumpTheme = 'dark'; // (light|dark) по подразбиране е 'light'
// показване на мястото, където е извикана функцията dump()?
Debugger::$showLocation = /* ... */; // (bool) по подразбиране според версията на Tracy
Други
// в режим на разработка показва грешки от тип notice или warning като BlueScreen
Debugger::$strictMode = /* ... */; // (bool|int) по подразбиране е false, възможно е да се изберат само някои нива на грешки (напр. E_USER_DEPRECATED | E_DEPRECATED)
// показване на заглушени (@) съобщения за грешки?
Debugger::$scream = /* ... */; // (bool|int) по подразбиране е false, от версия 2.9 е възможно да се изберат само някои нива на грешки (напр. E_USER_DEPRECATED | E_DEPRECATED)
// формат на връзката за отваряне в редактор
Debugger::$editor = /* ... */; // (string|null) по подразбиране е 'editor://open/?file=%file&line=%line'
// път до шаблон със собствена страница за грешка 500
Debugger::$errorTemplate = /* ... */; // (string) по подразбиране не е зададено
// показване на Tracy Bar?
Debugger::$showBar = /* ... */; // (bool) по подразбиране е true
Debugger::$editorMapping = [
// оригинал => нов
'/var/www/html' => '/data/web',
'/home/web' => '/srv/html',
];
Nette Framework
Ако използвате Nette Framework, можете да конфигурирате Tracy и да добавяте нови панели към Tracy Bar също чрез конфигурационния файл. В конфигурацията могат да се задават параметри, както и да се добавят нови панели към Tracy Bar. Тези настройки се прилагат едва след създаването на DI контейнера, така че грешките, възникнали преди това, не могат да ги отразят.
Конфигурация на логването на грешки:
tracy:
# имейл, на който се изпращат известия, че е възникнала грешка
email: dev@example.com # (string|string[]) по подразбиране не е зададено
# изпращач на имейла
fromEmail: robot@example.com # (string) по подразбиране не е зададено
# време за отлагане на изпращането на имейли (от Tracy 2.8.8)
emailSnooze: ... # (string) по подразбиране е '2 days'
# използване на Nette mailer за изпращане на имейли? (от Tracy 2.5)
netteMailer: ... # (bool) по подразбиране е true
# за кои нива на грешки се логва и BlueScreen?
logSeverity: [E_WARNING, E_NOTICE] # по подразбиране е []
Конфигурация на поведението на функцията dump()
:
tracy:
# максимална дължина на низа
maxLength: 150 # (int) по подразбиране според версията на Tracy
# максимална дълбочина на влагане
maxDepth: 10 # (int) по подразбиране според версията на Tracy
# скриване на стойностите на тези ключове (от Tracy 2.8)
keysToHide: [password, pass] # (string[]) по подразбиране е []
# визуална тема (от Tracy 2.8)
dumpTheme: dark # (light|dark) по подразбиране е 'light'
# показване на мястото, където е извикана функцията dump()?
showLocation: ... # (bool) по подразбиране според версията на Tracy
Инсталиране на разширения за Tracy:
tracy:
# добавя панели към Tracy Bar
bar:
- Nette\Bridges\DITracy\ContainerPanel
- IncludePanel
- XDebugHelper('myIdeKey')
- MyPanel(@MyService)
# добавя панели към BlueScreen
blueScreen:
- DoctrinePanel::renderException
Други опции:
tracy:
# в режим на разработка показва грешки от тип notice или warning като BlueScreen
strictMode: ... # по подразбиране е true
# показване на заглушени (@) съобщения за грешки?
scream: ... # по подразбиране е false
# формат на връзката за отваряне в редактор
editor: ... # (string) по подразбиране е 'editor://open/?file=%file&line=%line'
# път до шаблон със собствена страница за грешка 500
errorTemplate: ... # (string) по подразбиране не е зададено
# показване на Tracy Bar?
showBar: ... # (bool) по подразбиране е true
editorMapping:
# оригинал: нов
/var/www/html: /data/web
/home/web: /srv/html
Стойностите на опциите logSeverity
, strictMode
и scream
могат
да се записват като масив от нива на грешки (напр. [E_WARNING, E_NOTICE]
)
или като израз, използван в езика PHP (напр. E_ALL & ~E_NOTICE
).
DI Сървиси
Тези сървиси се добавят към DI контейнера:
Име | Тип | Описание |
---|---|---|
tracy.logger |
Tracy\ILogger | логър |
tracy.blueScreen |
Tracy\BlueScreen | BlueScreen |
tracy.bar |
Tracy\Bar | Tracy Bar |