Konfiguracja Tracy

Wszystkie przykłady zakładają, że alias został utworzony:

use Tracy\Debugger;

Rejestrowanie błędów

$logger = Debugger::getLogger();

// email, na który wysyłane są powiadomienia o wystąpieniu błędu
$logger->email = 'dev@example.com'; // (string|string[]) domyślnie nie jest ustawiony

// nadawca wiadomości e-mail
$logger->fromEmail = 'me@example.com'; // (string) domyślnie nie jest ustawiony

// procedura zapewniająca wysłanie wiadomości e-mail
$logger->mailer = /* ... */; // (callable) domyślnie wysyłamy za pomocą mail()

// Jaki jest najkrótszy czas na wysłanie kolejnego maila?
$logger->emailSnooze = /* ... */; // (string) domyślnie "2 dni

// dla jakich poziomów błędów jest BlueScreen logging too?
Debugger::$logSeverity = E_WARNING | E_NOTICE; // domyślnie 0 (brak poziomów błędów)

Zachowanie dump()

// maksymalna długość łańcucha
Debugger::$maxLength = 150; // (int) domyślnie w wersji Tracy

// maksymalna głębokość zanurzenia
Debugger::$maxDepth = 10; // (int) domyślnie przez wersję Tracy

// ukryć wartości tych kluczy (od Tracy 2.8)
Debugger::$keysToHide = ['password', /* ... */]; // (string[]) defaults to []

// motyw wizualny (od Tracy 2.8)
Debugger::$dumpTheme = 'dark'; // (light|dark) domyślnie 'light'

// pokaż, gdzie została wywołana funkcja dump()?
Debugger::$showLocation = /* ... */; // (bool) domyślnie Tracy

Inne

// w trybie deweloperskim pokaż błędy typu powiadomienie lub ostrzeżenie jako BlueScreen
Debugger::$strictMode = /* ... */; // (bool|int) domyślnie false, można wybrać tylko określone poziomy błędów (np. E_USER_DEPRECATED | E_DEPRECATED)

// pokazać wyciszone (@) komunikaty o błędach?
Debugger::$scream = /* ... */; // (bool|int) domyślnie false, od wersji 2.9 można wybrać tylko niektóre poziomy błędów (np. E_USER_DEPRECATED | E_DEPRECATED)

// format linku do otwarcia w edytorze
Debugger::$editor = /* ... */; // (string|null) domyślnie 'editor://open/?file=%file&line=%line'

// ścieżka do szablonu z własną stroną dla błędu 500
Debugger::$errorTemplate = /* ... */; // (string) domyślnie nie jest ustawiony

//pokazać Tracy Bar?
Debugger::$showBar = /* ... */; // (bool) domyślnie jest true

Debugger::$editorMapping = [
	// oryginał => nowy
	'/var/www/html' => '/data/web',
	'/home/web' => '/srv/html',
];

Ramy sieciowe

Jeśli używasz Nette Framework, możesz również skonfigurować Tracy i dodać nowe panele do Tracy Bar za pomocą pliku konfiguracyjnego. Możesz ustawić parametry w konfiguracji, a także dodać nowe panele do Tracy Bar. Te ustawienia są stosowane tylko po utworzeniu kontenera DI, więc błędy wykonane wcześniej nie mogą ich odzwierciedlać.

Konfiguracja rejestrowania błędów:

tracy:
	# email, na który wysyłane są powiadomienia o wystąpieniu błędu
	email: dev@example.com           # (string|string[]) domyślnie nie jest ustawiony

	# nadawca emaila
	fromEmail: robot@example.com     # (string) domyślnie nie jest ustawiony

	# czas opóźnienia wysyłania e-maili (od Tracy 2.8.8)
	emailSnooze: ...                 # (string) default is '2 days'

	# używać Nette mailer do wysyłania e-maili? (od Tracy 2.5)
	netteMailer: ...                 # (bool) domyślnie jest true

	# dla których poziomów błędów BlueScreen jest również rejestrowany?
	logSeverity: [E_WARNING, E_NOTICE] # domyślnie []

Skonfiguruj zachowanie strony dump():

tracy:
	# maksymalna długość łańcucha
	maxLength: 150                 # (int) domyślnie według wersji Tracy

	# maksymalna głębokość zanurzenia
	maxDepth: 10                   # (int) domyślnie w wersji Tracy

	# ukryć wartości tych kluczy (od Tracy 2.8)
	keysToHide: [password, pass]   # (string[]) domyślnie []

	# visual theme (od Tracy 2.8)
	dumpTheme: dark                # (light|dark) domyślnie 'light'

	# pokaż, gdzie została wywołana funkcja dump()?
	showLocation: ...              # (bool) domyślnie według wersji Tracy

Instalacja rozszerzenia 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

Inne opcje:

tracy:
	# w trybie deweloperskim pokazuj powiadomienia lub błędy ostrzegawcze jako BlueScreen
	strictMode: ...           # domyślnie jest to prawda

	# wyświetlić wyciszone (@) komunikaty o błędach?
	scream: ...               # domyślnie jest to fałsz

	# format linku do otwarcia w edytorze
	editor: ...               # (string) domyślnie 'editor://open/?file=%file&line=%line'

	# ścieżka do szablonu z własną stroną dla błędu 500
	errorTemplate: ...        # (string) domyślnie nie jest ustawiony

	# show tracy bar?
	showBar: ...              # (bool) domyślnie jest true

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

Wartości opcji logSeverity, strictMode i scream można zapisać jako pola poziomu błędu (np. [E_WARNING, E_NOTICE]), lub jako wyrażenie używane w PHP (np. E_ALL & ~E_NOTICE).

Usługi DI

Usługi te są dodawane do kontenera DI:

Nazwa Typ Opis
tracy.logger Tracy\ILogger logger
tracy.blueScreen Tracy\BlueScreen BlueScreen
tracy.bar Tracy\Bar Tracy Bar