Tracy Konfiguration

Alle Beispiele gehen von einem erstellten Alias aus:

use Tracy\Debugger;

Fehlerprotokollierung

$logger = Debugger::getLogger();

// E-Mail, an die Benachrichtigungen über aufgetretene Fehler gesendet werden
$logger->email = 'dev@example.com';      // (string|string[]) Standardmäßig nicht festgelegt

// Absender der E-Mail
$logger->fromEmail = 'me@example.com';   // (string) Standardmäßig nicht festgelegt

// Routine, die das Senden der E-Mail sicherstellt
$logger->mailer = /* ... */;             // (callable) Standardmäßig wird mit der mail()-Funktion gesendet

// Nach welcher kürzesten Zeit die nächste E-Mail senden?
$logger->emailSnooze = /* ... */;        // (string) Standard ist '2 days'

// Für welche Fehlerstufen wird auch der BlueScreen protokolliert?
Debugger::$logSeverity = E_WARNING | E_NOTICE;  // Standard ist 0 (keine Fehlerstufen)

Verhalten von dump()

// Maximale Länge der Zeichenkette
Debugger::$maxLength = 150;              // (int) Standard gemäß Tracy-Version

// Maximale Verschachtelungstiefe
Debugger::$maxDepth = 10;                // (int) Standard gemäß Tracy-Version

// Werte dieser Schlüssel ausblenden (ab Tracy 2.8)
Debugger::$keysToHide = ['password', /* ... */];  // (string[]) Standard ist []

// Visuelles Thema (ab Tracy 2.8)
Debugger::$dumpTheme = 'dark';           // (light|dark) Standard ist 'light'

// Ort anzeigen, an dem die dump()-Funktion aufgerufen wurde?
Debugger::$showLocation = /* ... */;     // (bool) Standard gemäß Tracy-Version

Sonstiges

// Im Entwicklungsmodus werden Fehler vom Typ Notice oder Warning als BlueScreen angezeigt
Debugger::$strictMode = /* ... */;       // (bool|int) Standard ist false, es können nur bestimmte Fehlerstufen ausgewählt werden (z.B. E_USER_DEPRECATED | E_DEPRECATED)

// Unterdrückte (@) Fehlermeldungen anzeigen?
Debugger::$scream = /* ... */;           // (bool|int) Standard ist false, ab Version 2.9 können nur bestimmte Fehlerstufen ausgewählt werden (z.B. E_USER_DEPRECATED | E_DEPRECATED)

// Linkformat zum Öffnen im Editor
Debugger::$editor = /* ... */;           // (string|null) Standard ist 'editor://open/?file=%file&line=%line'

// Pfad zum Template mit einer benutzerdefinierten Seite für Fehler 500
Debugger::$errorTemplate = /* ... */;    // (string) Standardmäßig nicht festgelegt

// Tracy Bar anzeigen?
Debugger::$showBar = /* ... */;          // (bool) Standard ist true

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

Nette Framework

Wenn Sie das Nette Framework verwenden, können Sie Tracy konfigurieren und neue Panels zur Tracy Bar auch über die Konfigurationsdatei hinzufügen. In der Konfiguration können Parameter eingestellt und auch neue Panels zur Tracy Bar hinzugefügt werden. Diese Einstellungen werden erst nach der Erstellung des DI-Containers angewendet, sodass Fehler, die davor auftreten, diese nicht widerspiegeln können.

Konfiguration der Fehlerprotokollierung:

tracy:
	# E-Mail, an die Benachrichtigungen über aufgetretene Fehler gesendet werden
	email: dev@example.com           # (string|string[]) Standardmäßig nicht festgelegt

	# Absender der E-Mail
	fromEmail: robot@example.com     # (string) Standardmäßig nicht festgelegt

	# Verzögerungszeit für den E-Mail-Versand (ab Tracy 2.8.8)
	emailSnooze: ...                 # (string) Standard ist '2 days'

	# Nette Mailer zum Senden von E-Mails verwenden? (ab Tracy 2.5)
	netteMailer: ...                 # (bool) Standard ist true

	# Für welche Fehlerstufen wird auch der BlueScreen protokolliert?
	logSeverity: [E_WARNING, E_NOTICE]  # Standard ist []

Konfiguration des Verhaltens der dump()-Funktion:

tracy:
	# Maximale Länge der Zeichenkette
	maxLength: 150                # (int) Standard gemäß Tracy-Version

	# Maximale Verschachtelungstiefe
	maxDepth: 10                  # (int) Standard gemäß Tracy-Version

	# Werte dieser Schlüssel ausblenden (ab Tracy 2.8)
	keysToHide: [password, pass]  # (string[]) Standard ist []

	# Visuelles Thema (ab Tracy 2.8)
	dumpTheme: dark               # (light|dark) Standard ist 'light'

	# Ort anzeigen, an dem die dump()-Funktion aufgerufen wurde?
	showLocation: ...             # (bool) Standard gemäß Tracy-Version

Installation von Tracy-Erweiterungen:

tracy:
	# Fügt Panels zur Tracy Bar hinzu
	bar:
		- Nette\Bridges\DITracy\ContainerPanel
		- IncludePanel
		- XDebugHelper('myIdeKey')
		- MyPanel(@MyService)

	# Fügt Panels zum BlueScreen hinzu
	blueScreen:
		- DoctrinePanel::renderException

Andere Optionen:

tracy:
	# Im Entwicklungsmodus werden Fehler vom Typ Notice oder Warning als BlueScreen angezeigt
	strictMode: ...           # Standard ist true

	# Unterdrückte (@) Fehlermeldungen anzeigen?
	scream: ...               # Standard ist false

	# Linkformat zum Öffnen im Editor
	editor: ...               # (string) Standard ist 'editor://open/?file=%file&line=%line'

	# Pfad zum Template mit einer benutzerdefinierten Seite für Fehler 500
	errorTemplate: ...        # (string) Standardmäßig nicht festgelegt

	# Tracy Bar anzeigen?
	showBar: ...              # (bool) Standard ist true

	editorMapping:
		# Original: Neu
		/var/www/html: /data/web
		/home/web: /srv/html

Die Werte der Optionen logSeverity, strictMode und scream können als Array von Fehlerebenen (z.B. [E_WARNING, E_NOTICE]) oder als in PHP verwendeter Ausdruck (z.B. E_ALL & ~E_NOTICE) geschrieben werden.

DI-Dienste

Diese Dienste werden dem DI-Container hinzugefügt:

Name Typ Beschreibung
tracy.logger Tracy\ILogger Logger
tracy.blueScreen Tracy\BlueScreen BlueScreen
tracy.bar Tracy\Bar Tracy Bar