Tracy konfiguráció

A következő példák feltételezik, hogy a következő osztály alias van definiálva:

use Tracy\Debugger;

Hibanaplózás

$logger = Debugger::getLogger();

// ha hiba történt, az értesítést erre az e-mail címre küldjük.
$logger->email = 'dev@example.com'; // (string|string[]) alapértelmezés szerint nem beállított.

// email feladója
$logger->fromEmail = 'me@example.com'; // (string) alapértelmezés szerint nem állítható be.

// rutin az e-mail küldéséhez
$logger->mailer = /* ... */; // (hívható) alapértelmezés szerint a mail() segítségével küldi el.

// mi után a legrövidebb idő után küldjünk újabb emailt?
$logger->emailSnooze = /* ... */; // (string) alapértelmezés szerint '2 nap'.

// milyen hibaszintek esetén is naplóz a BlueScreen?
Debugger::$logSeverity = E_WARNING | E_NOTICE; // alapértelmezés szerint 0 (nincs hibaszint).

dump() Viselkedés

// maximális karakterlánc hossza
Debugger::$maxLength = 150; // (int) alapértelmezett a Tracy szerint

// milyen mélyen fog listázni
Debugger::$maxDepth = 10; // (int) alapértelmezett Tracy szerint

// a kulcsok értékeinek elrejtése (Tracy 2.8 óta)
Debugger::$keysToHide = ['password', /* ... */]; // (string[]) alapértelmezett []

// vizuális téma (Tracy 2.8 óta)
Debugger::$dumpTheme = 'dark'; // (light|dark) alapértelmezés szerint 'light'.

// megjeleníti a dump() hívás helyét?
Debugger::$showLocation = /* ... */; // (bool) alapértelmezett a Tracy szerint

Egyéb

// Fejlesztés üzemmódban a BlueScreen figyelmeztetéseket vagy hibajelzéseket fog látni.
Debugger::$strictMode = /* ... */; // (bool|int) alapértelmezett értéke false, csak bizonyos hibaszinteket lehet kiválasztani (pl. E_USER_DEPRECATED | E_DEPRECATED).

// néma (@) hibaüzenetek megjelenítése
Debugger::$scream = /* ... */; // (bool|int) alapértelmezett értéke false, a 2.9-es verzió óta csak bizonyos hibaszintek (pl. E_USER_DEPRECATED | E_DEPRECATED) választhatók ki.

// a szerkesztőben megnyitandó link formátum
Debugger::$editor = /* ... */; // (string|null) alapértelmezés szerint 'editor://open/?file=%file&line=%line'

// az 500-as hiba esetén az egyéni oldalt tartalmazó sablon elérési útja
Debugger::$errorTemplate = /* ... */; // (string) alapértelmezés szerint nem beállított

// megjeleníti a Tracy Bar?
Debugger::$showBar = /* ... */; // (bool) alapértelmezett értéke true

Debugger::$editorMapping = [
	// eredeti => új
	'/var/www/html' => '/data/web',
	'/home/web' => '/srv/html',
];

Nette keretrendszer

Ha a Nette Frameworket használja, akkor a Tracy-t is konfigurálhatja, és a konfigurációs fájl segítségével új paneleket adhat hozzá a Tracy Barhoz. A konfigurációban beállíthatja a Tracy paramétereit, és új paneleket is hozzáadhat a Tracy Barhoz. Ezek a beállítások csak a DI konténer létrehozása után kerülnek alkalmazásra, így a korábban bekövetkezett hibák nem tükröződhetnek.

Hibanaplózási konfiguráció:

tracy:
	# ha hiba történt, az értesítést erre az e-mail címre küldjük.
	email: dev@example.com           # (string|string[]) alapértelmezett értéke unset

	# email feladó
	fromEmail: robot@example.com     # (string) alapértelmezés szerint unset

	# az e-mailek küldésének elhalasztási ideje (Tracy 2.8.8.8 óta)
	emailSnooze: ...                 # (string) alapértelmezett értéke '2 nap'.

	# a konfigurációban definiált mailer használata? (Tracy 2.5 óta)
	netteMailer: ...                 # (bool) alapértelmezés szerint true

	# mely hibaszintek esetén naplózódik a BlueScreen is?
	logSeverity: [E_WARNING, E_NOTICE] # alapértelmezett értéke []

A dump() funkció konfigurációja:

tracy:
	# maximum string length
	maxLength: 150                 # (int) alapértelmezett Tracy szerint

	# milyen mély lesz a lista
	maxDepth: 10                   # (int) alapértelmezett Tracy szerint

	# a kulcsok értékeinek elrejtése (Tracy 2.8 óta)
	keysToHide: [password, pass]   # (string[]) alapértelmezés szerint []

	# vizuális téma (Tracy 2.8 óta)
	dumpTheme: dark                # (light|dark) alapértelmezett értéke 'light'.

	# megjeleníti a dump() hívásának helyét?
	showLocation: ...              # (bool) alapértelmezett a Tracy szerint

A Tracy kiterjesztés telepítése:

tracy:
	# appends bars to Tracy Bar
	bar:
		- Nette\Bridges\DITracy\ContainerPanel
		- IncludePanel
		- XDebugHelper('myIdeKey')
		- MyPanel(@MyService)

	# panelek hozzáadása a BlueScreen-hez
	blueScreen:
		- DoctrinePanel::renderException

Egyéb lehetőségek:

tracy:
	# fejlesztési módban, akkor látni fogod az értesítést vagy a hiba figyelmeztetéseket, mint BlueScreen
	strictMode: ...           # alapértelmezés szerint true

	# csendes (@) hibaüzeneteket jelenít meg
	scream: ...               # alapértelmezés szerint false

	# link formátum a szerkesztőben való megnyitáshoz
	editor: ...               # (string) alapértelmezés szerint 'editor://open/?file=%file&line=%line'

	# az 500-as hiba esetén az egyéni oldalt tartalmazó sablon elérési útja
	errorTemplate: ...        # (string) alapértelmezés szerint unset

	# shows Tracy Bar?
	showBar: ...              # (bool) alapértelmezés szerint true

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

A logSeverity, strictMode és scream opciók értékei hibaszintek tömbjeként is megadhatók (pl. [E_WARNING, E_NOTICE]) vagy PHP-ban használt kifejezésként (pl. E_ALL & ~E_NOTICE).

DI szolgáltatások

Ezek a szolgáltatások hozzáadódnak a DI konténerhez:

Név Típus Leírás
tracy.logger Tracy\ILogger logger
tracy.blueScreen Tracy\BlueScreen BlueScreen
tracy.bar Tracy\Bar Tracy Bar