Konfigurace Tracy

Všechny příklady předpokládají vytvořený alias:

use Tracy\Debugger;

Logování chyb

$logger = Debugger::getLogger();

// e-mail, na který se posílají notifikace, že došlo k chybě
$logger->email = 'dev@example.com';      // (string|string[]) výchozí je nenastaveno

// odesílatel e-mailu
$logger->fromEmail = 'me@example.com';   // (string) výchozí je nenastaveno

// rutina zajišťující odeslání emailu
$logger->mailer = /* ... */;             // (callable) výchozí je odesílání funkcí mail()

// po jaké nejkratší době odeslat další email?
$logger->emailSnooze = /* ... */;        // (string) výchozí je '2 days'

// pro jaké úrovně chyb se loguje i BlueScreen?
Debugger::$logSeverity = E_WARNING | E_NOTICE;  // výchozí je 0 (žádné úrovně chyb)

Chování dump()

// maximální délka řetězce
Debugger::$maxLength = 150;              // (int) výchozí dle verze Tracy

// maximální hloubka zanoření
Debugger::$maxDepth = 10;                // (int) výchozí dle verze Tracy

// skrýt hodnoty těchto klíčů (od Tracy 2.8)
Debugger::$keysToHide = ['password', /* ... */];  // (string[]) výchozí je []

// vizuální téma (od Tracy 2.8)
Debugger::$dumpTheme = 'dark';           // (light|dark) výchozí je 'light'

// zobrazit místo, kde byla volána funkce dump()?
Debugger::$showLocation = /* ... */;     // (bool) výchozí dle verze Tracy

Ostatní

// ve vývojovém režimu zobrazí chyby typu notice nebo warning jako BlueScreen
Debugger::$strictMode = /* ... */;       // (bool|int) výchozí je false, je možné vybrat jen některé úrovně chyb (např. E_USER_DEPRECATED | E_DEPRECATED)

// zobrazit umlčené (@) chybové hlášky?
Debugger::$scream = /* ... */;           // (bool|int) výchozí je false, od verze 2.9 je možné vybrat jen některé úrovně chyb (např. E_USER_DEPRECATED | E_DEPRECATED)

// formát odkazu pro otevření v editoru
Debugger::$editor = /* ... */;           // (string|null) výchozí je 'editor://open/?file=%file&line=%line'

// cesta k šabloně s vlastní stránkou pro chybu 500
Debugger::$errorTemplate = /* ... */;    // (string) výchozí je nenastaveno

// zobrazit Tracy Bar?
Debugger::$showBar = /* ... */;          // (bool) výchozí je true

Debugger::$editorMapping = [
	// originál => nová
	'/var/www/html' => '/data/web',
	'/home/web' => '/srv/html',
];

Nette Framework

Pokud používáte Nette Framework, můžete konfigurovat Tracy a přidávat nové panely do Tracy Bar také pomocí konfiguračního souboru. V konfiguraci lze nastavovat parametry a také přidávat nové panely do Tracy Bar. Tyto nastavení se aplikují teprve po vytvoření DI kontejneru, takže chyby vzniklé předtím je nemohou reflektovat.

Konfigurace logování chyb:

tracy:
	# e-mail, na který se posílají notifikace, že došlo k chybě
	email: dev@example.com           # (string|string[]) výchozí je nenastaveno

	# odesílatel e-mailu
	fromEmail: robot@example.com     # (string) výchozí je nenastaveno

	# doba odložení odeslání e-mailů (od Tracy 2.8.8)
	emailSnooze: ...                 # (string) výchozí je '2 days'

	# použít pro odesílání e-mailů Nette mailer? (od Tracy 2.5)
	netteMailer: ...                 # (bool) výchozí je true

	# pro jaké úrovně chyb se loguje i BlueScreen?
	logSeverity: [E_WARNING, E_NOTICE]  # výchozí je []

Konfigurace chování funkce dump():

tracy:
	# maximální délka řetězce
	maxLength: 150                # (int) výchozí dle verze Tracy

	# maximální hloubka zanoření
	maxDepth: 10                  # (int) výchozí dle verze Tracy

	# skrýt hodnoty těchto klíčů (od Tracy 2.8)
	keysToHide: [password, pass]  # (string[]) výchozí je []

	# vizuální téma (od Tracy 2.8)
	dumpTheme: dark               # (light|dark) výchozí je 'light'

	# zobrazit místo, kde byla volána funkce dump()?
	showLocation: ...             # (bool) výchozí dle verze Tracy

Instalace rozšíření Tracy:

tracy:
	# přidá panely do Tracy Bar
	bar:
		- Nette\Bridges\DITracy\ContainerPanel
		- IncludePanel
		- XDebugHelper('myIdeKey')
		- MyPanel(@MyService)

	# přidá panely do BlueScreen
	blueScreen:
		- DoctrinePanel::renderException

Ostatní volby:

tracy:
	# ve vývojovém režimu zobrazí chyby typu notice nebo warning jako BlueScreen
	strictMode: ...           # výchozí je true

	# zobrazit umlčené (@) chybové hlášky?
	scream: ...               # výchozí je false

	# formát odkazu pro otevření v editoru
	editor: ...               # (string) výchozí je 'editor://open/?file=%file&line=%line'

	# cesta k šabloně s vlastní stránkou pro chybu 500
	errorTemplate: ...        # (string) výchozí je nenastaveno

	# zobrazit Tracy Bar?
	showBar: ...              # (bool) výchozí je true

	editorMapping:
		# originál: nová
		/var/www/html: /data/web
		/home/web: /srv/html

Hodnoty voleb logSeverity, strictMode a scream lze zapisovat jako pole chybových úrovní (např. [E_WARNING, E_NOTICE]), nebo jako výraz používaný v jazyce PHP (např. E_ALL & ~E_NOTICE).

Služby DI

Tyto služby se přidávají do DI kontejneru:

Název Typ Popis
tracy.logger Tracy\ILogger logger
tracy.blueScreen Tracy\BlueScreen BlueScreen
tracy.bar Tracy\Bar Tracy Bar