NetteRequestId – unikátní id pro každý request
- Filip Klimeš
- Nette Blogger | 156
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:
- GitHub: klimesf/nette-request-id
- Symfony řešení: diskuze
- Ruby řešení: dokumentace
Editoval Filip Klimeš (18. 9. 2015 18:36)