Конфигурация Трейси

Следующие примеры предполагают, что определен следующий псевдоним класса:

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