Configurația Tracy

Următoarele exemple presupun că este definit următorul alias de clasă:

use Tracy\Debugger;

Jurnalizare erori

$logger = Debugger::getLogger();

// dacă a apărut o eroare, notificarea este trimisă la acest e-mail
$logger->email = 'dev@example.com';      // (string|string[]) este implicit neimpus.

// expeditor e-mail
$logger->fromEmail = 'me@example.com';   // (șir de caractere) implicit la unset

// rutina de trimitere a e-mailului
$logger->mailer = /* ... */;             // (apelabil) implicit trimiterea prin mail()

// după ce timp cel mai scurt se trimite un alt e-mail?
$logger->emailSnooze = /* ... */;        // (string) implicit este "2 zile

// pentru ce niveluri de eroare este înregistrat și BlueScreen?
Debugger::$logSeverity = E_WARNING | E_NOTICE;  // valoarea implicită este 0 (niciun nivel de eroare)

dump() Comportament

// lungimea maximă a șirului de caractere
Debugger::$maxLength = 150;              // (int) implicit conform Tracy

// cât de adâncă va fi lista
Debugger::$maxDepth = 10;                // (int) implicită conform lui Tracy

// ascunde valorile acestor chei (de la Tracy 2.8)
Debugger::$keysToHide = ['password', /* ... */];  // (string[]) valoarea implicită este []

// tema vizuală (de la Tracy 2.8)
Debugger::$dumpTheme = 'dark';           // (light|dark) implicit la "light

// afișează locația în care a fost apelat dump()?
Debugger::$showLocation = /* ... */;     // (bool) implicit în conformitate cu Tracy

Altele

// în modul de dezvoltare, veți vedea avertismente de notificare sau de eroare ca BlueScreen
Debugger::$strictMode = /* ... */;       // (bool|int) implicit la false, puteți selecta doar anumite niveluri de eroare (de exemplu, E_USER_DEPRECATED | E_DEPRECATED)

// afișează mesaje de eroare silențioase (@)
Debugger::$scream = /* ... */;           // (bool|int) valoarea implicită este false, începând cu versiunea 2.9 este posibilă selectarea doar a unor niveluri de eroare specifice (de exemplu, E_USER_DEPRECATED | E_DEPRECATED)

// formatul linkului care trebuie deschis în editor
Debugger::$editor = /* ... */;           // (string|null) valoarea implicită este "editor://open/?file=%file&line=%line

// calea către șablonul cu pagina personalizată pentru eroarea 500
Debugger::$errorTemplate = /* ... */;    // (șir de caractere) setează implicit la unset

// afișează bara Tracy?
Debugger::$showBar = /* ... */;          // (bool) valoarea implicită este true

Debugger::$editorMapping = [
	// original => nou
	'/var/www/html' => '/data/web',
	'/home/web' => '/srv/html',
];

Cadrul Nette

Dacă utilizați Nette Framework, puteți configura Tracy și adăuga noi panouri la bara Tracy folosind fișierul de configurare. Puteți seta parametrii Tracy în configurație și, de asemenea, puteți adăuga noi panouri la bara Tracy. Aceste setări se aplică numai după ce a fost creat containerul DI, astfel încât erorile care au avut loc anterior nu le pot reflecta.

Configurarea jurnalizării erorilor:

tracy:
	# dacă a apărut o eroare, notificarea este trimisă la acest e-mail
	email: dev@example.com           # (string|string[]) este implicit neimpus.

	# expeditor e-mail
	fromEmail: robot@example.com     # (șir de caractere) implicit la unset

	# perioada de amânare a trimiterii e-mailurilor (de la Tracy 2.8.8)
	emailSnooze: ...                 # (șir de caractere) implicit la "2 zile

	# pentru a utiliza un expeditor definit în configurație? (de la Tracy 2.5)
	netteMailer: ...                 # (bool) implicit la true

	# pentru care niveluri de eroare este înregistrat și BlueScreen?
	logSeverity: [E_WARNING, E_NOTICE]  # valoarea implicită este []

Configurație pentru funcția dump():

tracy:
	# lungimea maximă a șirului de caractere
	maxLength: 150                # (int) implicit conform Tracy

	# cât de adâncă va fi lista
	maxDepth: 10                  # (int) implicită conform lui Tracy

	# ascunde valorile acestor chei (de la Tracy 2.8)
	keysToHide: [password, pass]  # (string[]) valoarea implicită este []

	# tema vizuală (de la Tracy 2.8)
	dumpTheme: dark               # (light|dark) implicit la "light

	# afișează locația în care a fost apelat dump()?
	showLocation: ...             # (bool) implicit în conformitate cu Tracy

Pentru a instala extensia Tracy:

tracy:
	# adaugă bare la Tracy Bar
	bar:
		- Nette\Bridges\DITracy\ContainerPanel
		- IncludePanel
		- XDebugHelper('myIdeKey')
		- MyPanel(@MyService)

	# adaugă panouri la BlueScreen
	blueScreen:
		- DoctrinePanel::renderException

Alte opțiuni:

tracy:
	# în modul de dezvoltare, veți vedea avertismente de notificare sau de eroare ca BlueScreen
	strictMode: ...           # este implicit la true

	# afișează mesaje de eroare silențioase (@)
	scream: ...               # implicit la false

	# formatul linkului pentru a se deschide în editor
	editor: ...               # (șir de caractere) valoarea implicită este "editor://open/?file=%file&line=%line

	# calea către șablonul cu pagina personalizată pentru eroarea 500
	errorTemplate: ...        # (șir de caractere) implicit la unset

	# afișează bara Tracy?
	showBar: ...              # (bool) valoarea implicită este true

	editorMapping:
		# original: nou
		/var/www/html: /data/web
		/home/web: /srv/html

Valorile opțiunilor logSeverity, strictMode și scream pot fi scrise sub forma unui tablou de niveluri de eroare (de exemplu: , și ). [E_WARNING, E_NOTICE]) sau ca o expresie utilizată în PHP (de exemplu, E_ALL & ~E_NOTICE).

Servicii DI

Aceste servicii sunt adăugate la containerul DI:

Nume | Tip | Tip | Descriere

tracy.logger Tracy\ILogger logger
tracy.blueScreen Tracy\BlueScreen BlueScreen
tracy.bar Tracy\Bar Tracy Bar