Konfiguration von Tracy
Die folgenden Beispiele setzen voraus, dass dieser Klassen-Alias definiert ist:
use Tracy\Debugger;
Fehlerprotokollierung
$logger = Debugger::getLogger();
// E-Mail-Adresse(n), an die Fehlerbenachrichtigungen gehen
$logger->email = 'dev@example.com'; // (string|string[]) standardmäßig nicht gesetzt
// Absender der E-Mail
$logger->fromEmail = 'me@example.com'; // (string) standardmäßig nicht gesetzt
// Routine zum Versenden der E-Mail
$logger->mailer = /* ... */; // (callable) standardmäßig Versand per mail()
// Mindestabstand zum Versenden weiterer E-Mails
$logger->emailSnooze = /* ... */; // (string) Standardwert ist '2 days'
// bei welchen Fehlerstufen wird auch ein BlueScreen protokolliert?
Debugger::$logSeverity = E_WARNING | E_NOTICE; // Standardwert ist 0 (keine Fehlerstufe)
Verhalten von dump()
// maximale Länge von Strings
Debugger::$maxLength = 150; // (int) Standardwert je nach Tracy-Version
// maximale Verschachtelungstiefe
Debugger::$maxDepth = 10; // (int) Standardwert je nach Tracy-Version
// maximale Anzahl angezeigter Array-/Objektelemente
Debugger::$maxItems = 100; // (int) Standardwert je nach Tracy-Version
// Werte dieser Schlüssel verbergen (seit Tracy 2.8)
Debugger::$keysToHide = ['password', /* ... */]; // (string[]) Standardwert ist []
// visuelles Theme (seit Tracy 2.8)
Debugger::$dumpTheme = 'dark'; // (light|dark) Standardwert ist 'light'
// die Stelle anzeigen, an der dump() aufgerufen wurde?
Debugger::$showLocation = /* ... */; // (bool) Standardwert je nach Tracy-Version
Sonstiges
// im Entwicklungsmodus Fehler vom Typ notice oder warning als BlueScreen anzeigen
Debugger::$strictMode = /* ... */; // (bool|int) Standardwert ist false, es lassen sich bestimmte Fehlerstufen wählen (z. B. E_USER_DEPRECATED | E_DEPRECATED)
// unterdrückte (@) Fehlermeldungen anzeigen?
Debugger::$scream = /* ... */; // (bool|int) Standardwert ist false, seit Version 2.9 lassen sich bestimmte Fehlerstufen wählen (z. B. E_USER_DEPRECATED | E_DEPRECATED)
// Format des Links zum Öffnen im Editor
Debugger::$editor = /* ... */; // (string|null) Standardwert ist 'editor://%action/?file=%file&line=%line&search=%search&replace=%replace'
// Pfad zum Template mit einer eigenen Seite für den Fehler 500
Debugger::$errorTemplate = /* ... */; // (string) standardmäßig nicht gesetzt
// die Tracy Bar anzeigen?
Debugger::$showBar = /* ... */; // (bool) Standardwert ist true
// Befehl zum Öffnen des Browsers mit dem protokollierten BlueScreen (z. B. in der CLI)
Debugger::$browser = /* ... */; // (string) standardmäßig nicht gesetzt
// Array von Funktionen, die nach einem fatalen Fehler oder einer nicht abgefangenen Exception aufgerufen werden
Debugger::$onFatalError[] = function (Throwable $e) { /* ... */ };
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 über die Konfigurationsdatei konfigurieren und der Tracy Bar neue Panels hinzufügen. In der Konfiguration können Sie Parameter setzen und der Tracy Bar neue Panels hinzufügen. Diese Einstellungen greifen erst nach dem Erzeugen des DI-Containers, Fehler, die davor auftreten, können sie also nicht berücksichtigen.
Konfiguration der Fehlerprotokollierung:
tracy:
# E-Mail-Adresse(n), an die Fehlerbenachrichtigungen gehen
email: dev@example.com # (string|string[]) standardmäßig nicht gesetzt
# Absender der E-Mail
fromEmail: robot@example.com # (string) standardmäßig nicht gesetzt
# Wartezeit für den E-Mail-Versand (seit Tracy 2.8.8)
emailSnooze: ... # (string) Standardwert ist '2 days'
# den Nette-Mailer zum Versenden der E-Mails verwenden? (seit Tracy 2.5)
netteMailer: ... # (bool) Standardwert ist true
# bei welchen Fehlerstufen wird auch ein BlueScreen protokolliert?
logSeverity: [E_WARNING, E_NOTICE] # Standardwert ist 0
Konfiguration für die Funktion dump():
tracy:
# maximale Länge von Strings
maxLength: 150 # (int) Standardwert je nach Tracy-Version
# maximale Verschachtelungstiefe
maxDepth: 10 # (int) Standardwert je nach Tracy-Version
# maximale Anzahl angezeigter Array-/Objektelemente
maxItems: 100 # (int) Standardwert je nach Tracy-Version
# Werte dieser Schlüssel verbergen (seit Tracy 2.8)
keysToHide: [password, pass] # (string[]) Standardwert ist []
# visuelles Theme (seit Tracy 2.8)
dumpTheme: dark # (light|dark) Standardwert ist 'light'
# die Stelle anzeigen, an der dump() aufgerufen wurde?
showLocation: ... # (bool) Standardwert je nach Tracy-Version
Installation von Tracy-Extensions:
tracy:
# fügt der Tracy Bar Panels hinzu
bar:
- Nette\Bridges\DITracy\ContainerPanel
- IncludePanel
- XDebugHelper('myIdeKey')
- MyPanel(@MyService)
# fügt dem BlueScreen Panels hinzu
blueScreen:
- DoctrinePanel::renderException
Weitere Optionen:
tracy:
# im Entwicklungsmodus Fehler vom Typ notice oder warning als BlueScreen anzeigen
strictMode: ... # Standardwert ist false
# unterdrückte (@) Fehlermeldungen anzeigen?
scream: ... # Standardwert ist false
# Format des Links zum Öffnen im Editor
editor: ... # (string) Standardwert ist 'editor://%action/?file=%file&line=%line&search=%search&replace=%replace'
# Pfad zum Template mit einer eigenen Seite für den Fehler 500
errorTemplate: ... # (string) standardmäßig nicht gesetzt
# die Tracy Bar anzeigen?
showBar: ... # (bool) Standardwert ist true
# Befehl zum Öffnen des Browsers mit dem protokollierten BlueScreen (z. B. in der CLI)
browser: ... # (string) standardmäßig nicht gesetzt
editorMapping:
# original: neu
/var/www/html: /data/web
/home/web: /srv/html
Die Werte der Optionen logSeverity, strictMode und scream lassen sich als Array von
Fehlerstufen schreiben (z. B. [E_WARNING, E_NOTICE]) oder als Ausdruck, wie er in PHP verwendet wird (z. B.
E_ALL & ~E_NOTICE).
DI-Services
Diese Services 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 |