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 |