NetteRequestId – unikátní id pro každý request

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Filip Klimeš
Nette Blogger | 156
+
+1
-

klimesf/nette-request-id

Toto velmi jednoduché rozšíření vytváří unikátní uuid1 identifikátor pro každý request, který je zpracován Nette aplikací.

Nové id je vygenerováno pokaždé, když je zavolán event Nette\Application\Application::onRequest. Id se dá získat pomocí metody Klimesf\NetteRequestId\Provider::getRequestId(). Službu Provider získáte pomocí DI kdekoliv v aplikaci, je zaregistrována pomocí rozšíření.

Je možnost si napsat vlastní Request ID generátor (např. načítání Request ID z HTTP hlavičky X-Request-Id, kterou vygeneruje firewall) a zaregistrovat si ho pomocí konfigurace.

Výhody

Unikátní identifikátor každého requestu se hodí hlavně pro účely logování. Každý log potom může nést informaci o tom, v jakém requestu byl vytvořen. To se může hodit např. pro REST API postavená na Nette. Na GitHubu je popsána integrace do Monologu.

Odkazy:

Editoval Filip Klimeš (18. 9. 2015 18:36)