GraphQL.cz/Fórum/Jaký nástroj na logování s GraphQL doporučujete?

Jaký nástroj na logování s GraphQL doporučujete?

Chtěl bych se zeptat, jestli někdo z vás má zkušenosti s nástroji na logování v kombinaci s GraphQL. V poslední době hodně pracuji na projektech, kde se GraphQL stalo nepostradatelnou součástí API a přemýšlím, jakým způsobem efektivně sledovat a logovat operace. Zajímalo by mě, jestli existují nějaké specifické nástroje nebo knihovny, které byste doporučili pro implementaci logování do různých komponentů GraphQL serveru. Chci mít přehled o dotazech, mutacích a případných chybách, které mohou nastat. Je důležité, aby tyto nástroje byly kompatibilní s populárními frameworky nebo knihovnami, které používáme v našem vývoji. Mám na mysli například Apollo Server nebo něco jiného. Jaké máte zkušenosti s integrací těchto nástrojů? A co se týče sledování výkonu, je možné nějakým způsobem logovat i čas potřebný na zpracování jednotlivých dotazů? Jaké možnosti máme k dispozici pro analýzu těchto dat? Rád bych se dozvěděl, co funguje nejlépe ve vaší praxi a jaké máte tipy pro efektivní logování v prostředí GraphQL. Díky moc!

156 slov
1.6 minut čtení
28. 11. 2021
Magdaléna Fojtíková

Podle mě je super volba pro logování u GraphQL Apollo Server. Můžeš použít middleware, který loguje dotazy a chyby přímo do konzole nebo do nějakého logovacího systému jako je Winston nebo Morgan. Ty mají možnost nastavit si úroveň logování a různý formát výstupu, což se hodí.

Pokud jde o sledování výkonu, tak v Apollo Serveru můžeš použít pluginy, které ti pomůžou měřit čas potřebný na zpracování jednotlivých dotazů. Například Apollo Tracing ti ukáže detailní informace o tom, jak dlouho trvá vykonání každé části dotazu.

Pro analýzu dat pak můžeš napojit logy na ElasticSearch nebo jiný analytický nástroj, což ti dá lepší přehled o tom, co se děje v produkci. Je dobrý mít i nějaký alerting, aby ses dozvěděl o chybách v reálném čase.

Celkově bych doporučil kombinaci Apollo Server s nějakým dobrým logging frameworkem a řešením pro monitoring výkonu. Takže to dá dost smysl.

142 slov
1.4 minut čtení
11. 3. 2024
Martina Burešová

Pro logování v GraphQL jsem měl dobré zkušenosti s Apollo Serverem a jeho integrovanou funkcionalitou pro logování. Můžeš využít middleware, kde si snadno přidáš vlastní logiku, která ti zaznamená dotazy a mutace. Pak je tu třeba Winston, co je skvělej na vytváření vlastních logů a hodí se to i pro GraphQL, protože můžeš logovat různé úrovně (info, error, apod.).

Pokud jde o sledování výkonu, tak Apollo má funkce jako formatResponse nebo formatError, kde můžeš měřit čas zpracování a zaznamenávat to. Je to super pro odhalení pomalých dotazů.

Na analýzu dat se dá použít nějaký monitoring jako Grafana nebo ELK stack. Ty ti pomůžou vizualizovat logy a analyzovat je. Takže ideální kombinace by asi byla Apollo Server + Winston + nějaký monitoringový nástroj. Držím palce!

122 slov
1.2 minut čtení
5. 2. 2022
Bohumil Řezáč

Hele, co se týče logování s GraphQL, tak já osobně používám Apollo Server a docela se mi osvědčilo použít middleware jako morgan nebo winston pro logování HTTP požadavků. Můžeš si tam přidat vlastní logiku pro logování dotazů a mutací. Taky je fajn zabalit všechny resolvery do try-catch bloků, aby ses mohl snadno podívat na chyby a logovat je.

Pokud chceš sledovat výkon, tak si můžeš třeba změřit čas zpracování dotazu pomocí performance.now() nebo nějaké knihovny na měření výkonu. Záznamy můžeš pak posílat do nějakého centralizovaného logovacího systému jako ELK stack nebo třeba Grafana pro vizualizaci.

Na analýzu dat určitě doporučuji něco jako Prometheus, to ti pomůže sledovat metriky jako latence a počet požadavků. Takže jo, tyhle nástroje fungují docela dobře v kombinaci s GraphQL a Apollo. Hlavně je důležitý mít nad vším přehled, aby ses mohl rychle zorientovat v potížích.

140 slov
1.4 minut čtení
16. 9. 2021
Lenka Pazderová
GraphQL.cz/Články/Logování API aktivit
Implementace logování pro GraphQL: Nejlepší praktikyPodrobný průvodce, jak efektivně implementovat logování aktivit v GraphQL aplikaci za účelem sledování výkonu a odhalování chyb.
1000 slov
10 minut čtení
19. 4. 2020
Ondřej Kučera
Přečíst článek
Podobné otázky