Конфигурация Трейси
Следующие примеры предполагают, что определен следующий псевдоним класса:
use Tracy\Debugger;
Протоколирование ошибок
$logger = Debugger::getLogger();
// если произошла ошибка, то уведомление отправляется на этот email
$logger->email = 'dev@example.com'; // (string|string[]) defaults to 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:
# appends bars to Tracy Bar
bar:
- Nette\Bridges\DITracy\ContainerPanel
- IncludePanel
- XDebugHelper('myIdeKey')
- MyPanel(@MyService)
# append panels to 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
Эти сервисы добавляются в контейнер DI:
Имя | Тип | Описание |
---|---|---|
tracy.logger |
Tracy\ILogger | logger |
tracy.blueScreen |
Tracy\BlueScreen | BlueScreen |
tracy.bar |
Tracy\Bar | Tracy Bar |