Конфігурація Трейсі
Наступні приклади припускають, що визначено такий псевдонім класу:
use Tracy\Debugger;
Протоколювання помилок
$logger = Debugger::getLogger();
// якщо сталася помилка, то повідомлення надсилається на цей email
$logger->email = 'dev@example.com'; // (string|string[]) за замовчуванням unset
// відправник електронної пошти
$logger->fromEmail = 'me@example.com'; // (string) defaults to unset
// процедура надсилання електронної пошти
$logger->mailer = /* ... */; // (викликається) за замовчуванням відправлення поштою mail()
// через який найменший час відправити ще один лист?
$logger->emailSnooze = /* ... */; // (рядок) за замовчуванням '2 дні'
// для яких рівнів помилок BlueScreen також ведеться журнал?
Debugger::$logSeverity = E_WARNING | E_NOTICE; // за замовчуванням 0 (рівень помилок відсутній)
dump()
Поведінка
// максимальна довжина рядка
Debugger::$maxLength = 150; // (int) за замовчуванням згідно з Трейсі
// наскільки глибоким буде список
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
Інші
// у режимі розробки ви будете бачити сповіщення або попередження про помилки як 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 = /* ... ... */; // (рядок) за замовчуванням не задано
// показувати панель трейсів?
Debugger::$showBar = /* ... */; // (bool) за замовчуванням true
Debugger::$editorMapping = [
// original => new
'/var/www/html' => '/data/web',
'/home/web' => '/srv/html',
];
Nette Framework
Якщо ви використовуєте Nette Framework, ви також можете налаштувати Tracy і додати нові панелі на панель Tracy Bar за допомогою файлу конфігурації. У конфігурації можна задати параметри Tracy, а також додати нові панелі на панель Tracy. Ці параметри застосовуються тільки після створення контейнера DI, тому помилки, що виникли раніше, не можуть їх відобразити.
Конфігурація реєстрації помилок:
tracy:
# якщо сталася помилка, повідомлення надсилається на цей email
email: dev@example.com # (string|string[]) за замовчуванням unset
# відправник електронної пошти
fromEmail: robot@example.com # (string) за замовчуванням unset
# період відстрочки надсилання листів (починаючи з версії Tracy 2.8.8)
emailSnooze: ... # (рядок) за замовчуванням '2 дні'
# використовувати поштовик, визначений у конфігурації? (починаючи з 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:
- Nette\Bridges\DITracy\ContainerPanel
- IncludePanel
- XDebugHelper('myIdeKey')
- MyPanel(@MyService)
# додаємо панелі до BlueScreen
blueScreen:
- DoctrinePanel::renderException
Інші варіанти:
tracy:
# у режимі розробки ви побачите сповіщення або попередження про помилки як BlueScreen
strictMode: ... # за замовчуванням true
# відображає беззвучні (@) повідомлення про помилки
scream: ... # за замовчуванням false
# формат посилання для відкриття в редакторі
editor: ... # (рядок) за замовчуванням 'editor://open/?file=%file&line=%line'
# шлях до шаблону з користувацькою сторінкою для помилки 500
errorTemplate: ... # (рядок) за замовчуванням unset
# показує панель трейсингу?
showBar: ... # (bool) за замовчуванням true
editorMapping:
# original: new
/var/www/html: /data/web
/home/web: /srv/html
Значення опцій logSeverity
, strictMode
і scream
можуть бути
записані у вигляді масиву рівнів помилок (наприклад.
[E_WARNING, E_NOTICE]
) або як вираз, що використовується в PHP (наприклад,
E_ALL & ~E_NOTICE
).
Послуги з проведення розслідувань
Ці сервіси додаються до контейнера DI:
Назва | Тип | Опис |
---|---|---|
tracy.logger |
Tracy\ILogger | логгер |
tracy.blueScreen |
Tracy\BlueScreen | BlueScreen |
tracy.bar |
Tracy\Bar | Tracy Bar |