Návody
Content Security Policy
Pokud váš web používá Content Security Policy, budete muset přidat stejné 'nonce-<value>'
a
'strict-dynamic'
do script-src
, aby Tracy správně fungovala. Některé doplňky třetích stran mohou
vyžadovat další nastavení. Nonce není podporována v direktivě style-src
, pokud tuto direktivu používáte,
musíte přidat 'unsafe-inline'
, ale v produkčním režimu byste se tomu měli vyhnout.
Příklad konfigurace pro Nette Framework:
Příklad v čistém PHP:
Rychlejší načítání
Spuštění je přímočaré, pokud však máte na webové stránce pomalu načítající se blokující skripty, mohou
zpomalit načítání Tracy. Řešením je umístit <?php Tracy\Debugger::renderLoader() ?>
do vaší šablony
před všechny skripty:
Ladění AJAXový požadavků
Tracy automaticky zachycuje AJAXové požadavky vytvořené pomocí jQuery nebo nativního API fetch
. Požadavky
jsou v liště Tracy zobrazeny jako další řádky, což umožňuje snadné a pohodlné ladění AJAXu.
Pokud nechcete AJAXové požadavky zachycovat automaticky, můžete tuto funkci zakázat nastavením JavaScriptové proměnné:
Pro ruční monitorování specifických AJAX požadavků přidejte HTTP hlavičku X-Tracy-Ajax
s hodnotou,
kterou vrátí Tracy.getAjaxHeader()
. Zde je příklad použití s funkcí fetch
:
Tento přístup umožňuje selektivní ladění AJAX požadavků.
Datové úložiště
Tracy umí zobrazit panely v Tracy baru a Bluescreeny pro AJAXové požadavky a přesměrovaní. Tracy si vytváří vlastní
session, data uchovává ve vlastních dočasných souborech a používá cookie tracy-session
.
Tracy lze nakonfigurovat také tak, aby používala nativní PHP session, kterou nastartujeme ještě před zapnutím Tracy:
V případě, že nastartování session vyžaduje složitější inicializaci, můžete Tracy spustit ihned (aby mohla
zpracovat případné vzniklé chyby) a poté inicializovat obsluhu relace a nakonec informovat Tracy, že relace je připravena
k použití pomocí funkce dispatch()
:
Funkce setSessionStorage()
existuje od verze 2.9, předtím používala Tracy nativní PHP session vždy.
Vlastní scrubber
Scrubber je filtr, který zabraňuje úniku citlivých dat při dumpování, jako jsou hesla nebo přístupové údaje. Filtr
se volá pro každý prvek dumpovaného pole nebo objektu a vrací true
, pokud je hodnota citlivá. V takovém
případě se místo hodnoty vypíše *****
.
Vlastní logger
Můžeme si vytvořit vlastní logger, který bude logovat chyby, nezachycené výjimky a také bude vyvolán metodou
Tracy\Debugger::log()
. Logger implementuje rozhraní Tracy\ILogger.
A následně jej aktivujeme:
Pokud používáme plný Nette Framework, můžete jej nastavit v konfiguračním NEON souboru:
Integrace monologu
Balíček Tracy poskytuje adaptér PSR-3, který umožňuje integraci monolog/monolog.
nginx
Pokud vám nefunguje Tracy na serveru nginx, nespíš je špatně nakonfigurovaný. Pokud je v konfiguraci něco jako:
změňte to na: