Konfiguracja Tracy
Wszystkie przykłady zakładają utworzony alias:
use Tracy\Debugger;
Logowanie błędów
$logger = Debugger::getLogger();
// e-mail, na który wysyłane są powiadomienia o błędach
$logger->email = 'dev@example.com'; // (string|string[]) domyślnie nieustawione
// nadawca e-maila
$logger->fromEmail = 'me@example.com'; // (string) domyślnie nieustawione
// procedura zapewniająca wysłanie e-maila
$logger->mailer = /* ... */; // (callable) domyślnie wysyłanie za pomocą funkcji mail()
// po jakim najkrótszym czasie wysłać następny e-mail?
$logger->emailSnooze = /* ... */; // (string) domyślnie '2 days'
// dla jakich poziomów błędów logowany jest również BlueScreen?
Debugger::$logSeverity = E_WARNING | E_NOTICE; // domyślnie 0 (brak poziomów błędów)
Zachowanie dump()
// maksymalna długość ciągu
Debugger::$maxLength = 150; // (int) domyślnie zgodnie z wersją Tracy
// maksymalna głębokość zagnieżdżenia
Debugger::$maxDepth = 10; // (int) domyślnie zgodnie z wersją Tracy
// ukryj wartości tych kluczy (od Tracy 2.8)
Debugger::$keysToHide = ['password', /* ... */]; // (string[]) domyślnie []
// motyw wizualny (od Tracy 2.8)
Debugger::$dumpTheme = 'dark'; // (light|dark) domyślnie 'light'
// wyświetlić miejsce, w którym została wywołana funkcja dump()?
Debugger::$showLocation = /* ... */; // (bool) domyślnie zgodnie z wersją Tracy
Inne
// w trybie deweloperskim wyświetla błędy typu notice lub warning jako BlueScreen
Debugger::$strictMode = /* ... */; // (bool|int) domyślnie false, można wybrać tylko niektóre poziomy błędów (np. E_USER_DEPRECATED | E_DEPRECATED)
// wyświetlać wyciszone (@) komunikaty błędów?
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 nieustawione
// wyświetlać Pasek Tracy?
Debugger::$showBar = /* ... */; // (bool) domyślnie true
Debugger::$editorMapping = [
// oryginał => nowa
'/var/www/html' => '/data/web',
'/home/web' => '/srv/html',
];
Nette Framework
Jeśli używasz Nette Framework, możesz konfigurować Tracy i dodawać nowe panele do Paska Tracy również za pomocą pliku konfiguracyjnego. W konfiguracji można ustawiać parametry oraz dodawać nowe panele do Paska Tracy. Te ustawienia są stosowane dopiero po utworzeniu kontenera DI, więc błędy powstałe wcześniej nie mogą ich odzwierciedlać.
Konfiguracja logowania błędów:
tracy:
# e-mail, na który wysyłane są powiadomienia o błędach
email: dev@example.com # (string|string[]) domyślnie nieustawione
# nadawca e-maila
fromEmail: robot@example.com # (string) domyślnie nieustawione
# czas odroczenia wysyłania e-maili (od Tracy 2.8.8)
emailSnooze: ... # (string) domyślnie '2 days'
# używać Nette mailer do wysyłania e-maili? (od Tracy 2.5)
netteMailer: ... # (bool) domyślnie true
# dla jakich poziomów błędów logowany jest również BlueScreen?
logSeverity: [E_WARNING, E_NOTICE] # domyślnie []
Konfiguracja zachowania funkcji dump()
:
tracy:
# maksymalna długość ciągu
maxLength: 150 # (int) domyślnie zgodnie z wersją Tracy
# maksymalna głębokość zagnieżdżenia
maxDepth: 10 # (int) domyślnie zgodnie z wersją Tracy
# ukryj wartości tych kluczy (od Tracy 2.8)
keysToHide: [password, pass] # (string[]) domyślnie []
# motyw wizualny (od Tracy 2.8)
dumpTheme: dark # (light|dark) domyślnie 'light'
# wyświetlić miejsce, w którym została wywołana funkcja dump()?
showLocation: ... # (bool) domyślnie zgodnie z wersją Tracy
Instalacja rozszerzeń Tracy:
tracy:
# dodaje panele do Paska Tracy
bar:
- Nette\Bridges\DITracy\ContainerPanel
- IncludePanel
- XDebugHelper('myIdeKey')
- MyPanel(@MyService)
# dodaje panele do BlueScreen
blueScreen:
- DoctrinePanel::renderException
Inne opcje:
tracy:
# w trybie deweloperskim wyświetla błędy typu notice lub warning jako BlueScreen
strictMode: ... # domyślnie true
# wyświetlać wyciszone (@) komunikaty błędów?
scream: ... # domyślnie false
# 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 nieustawione
# wyświetlać Pasek Tracy?
showBar: ... # (bool) domyślnie true
editorMapping:
# oryginał: nowa
/var/www/html: /data/web
/home/web: /srv/html
Wartości opcji logSeverity
, strictMode
i scream
można zapisywać jako tablicę
poziomów błędów (np. [E_WARNING, E_NOTICE]
) lub jako wyrażenie używane w języku PHP (np.
E_ALL & ~E_NOTICE
).
Usługi DI
Te usługi są dodawane do kontenera DI:
Nazwa | Typ | Opis |
---|---|---|
tracy.logger |
Tracy\ILogger | logger |
tracy.blueScreen |
Tracy\BlueScreen | BlueScreen |
tracy.bar |
Tracy\Bar | Pasek Tracy |