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

Усі приклади передбачають створений псевдонім:

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 logger
tracy.blueScreen Tracy\BlueScreen BlueScreen
tracy.bar Tracy\Bar Tracy Bar