Конфигурация Tracy

Все примеры предполагают созданный псевдоним (alias):

use Tracy\Debugger;

Логирование ошибок

$logger = Debugger::getLogger();

// e-mail, на который отправляются уведомления о возникновении ошибки
$logger->email = 'dev@example.com';      // (string|string[]) по умолчанию не установлено

// отправитель e-mail
$logger->fromEmail = 'me@example.com';   // (string) по умолчанию не установлено

// процедура, обеспечивающая отправку email
$logger->mailer = /* ... */;             // (callable) по умолчанию отправка функцией mail()

// через какое минимальное время отправить следующий email?
$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:
	# e-mail, на который отправляются уведомления о возникновении ошибки
	email: dev@example.com           # (string|string[]) по умолчанию не установлено

	# отправитель e-mail
	fromEmail: robot@example.com     # (string) по умолчанию не установлено

	# время отсрочки отправки e-mail (с Tracy 2.8.8)
	emailSnooze: ...                 # (string) по умолчанию '2 days'

	# использовать для отправки e-mail 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