GraphQL.cz/Fórum/Mělo by se logovat všechno nebo jen error message?

Mělo by se logovat všechno nebo jen error message?

Zajímalo by mě, jaký je váš názor na logování v aplikacích, zejména v kontextu GraphQL. Mám pocit, že čím více informací máme o tom, co se děje v naší aplikaci, tím lépe můžeme diagnostikovat problémy a zlepšovat výkon. Například když uživatel udělá nějakou akci, je fajn vědět, co přesně se stalo, nejen když došlo k chybě. Ale pak se objevuje otázka: Není to příliš? Měli bychom logovat každou jednotlivou operaci a dotaz, nebo stačí jen ty error messages? Někteří říkají, že logování všech požadavků může rychle zaplnit naše logy a ztížit hledání skutečně důležitých informací. Jiní zase tvrdí, že bez podrobného logování nemůžeme efektivně reagovat na problémy a optimalizovat naše API. Co si o tom myslíte? Jaké jsou vaše zkušenosti s logováním v GraphQL a obecně v aplikacích? Jaké strategie používáte pro efektivní správu logů? Je lepší mít spoustu dat a riskovat chaos, nebo držet logy čisté a soustředit se jen na chyby?

153 slov
1.5 minut čtení
18. 6. 2024
Radka Hlávková

Logování je fakt důležitý, ale jak říkáš, je to o vyvážení. Když loguješ všechno, můžeš mít pak v logu hromadu šumu a hledání konkrétní chyby trvá věčnost. Na druhou stranu, jen logování errorů ti může utéct nějaká důležitá informace, která by ti pomohla problém vyřešit dřív, než se z toho stane větší malér. Možná by stálo za to logovat klíčové akce nebo dotazy, co se často opakují, a ne úplně všechno. Tím si udržíš přehled a zároveň budeš mít užitečné info, když se něco posere. V GraphQL se dá třeba logovat i výkon jednotlivých dotazů, což může hodně pomoct s optimalizací. Takže spíš mix obojího – zachytit důležitý akce a chybový stavy, ale ne zahlcovat to nemyslitelným množstvím dat.

119 slov
1.2 minut čtení
25. 4. 2024
Šárka Sládková

K logování mám docela rozporuplný názor. Na jednu stranu, mít detailní logy může fakt pomoct při odhalování problémů. Když se něco zadrhne, aspoň víš, co se odehrávalo předtím. Ale na druhou stranu, pokud loguješ úplně všechno, rychle ti to zaplní místa a pak se v tom špatně hledá. V GraphQL je to navíc komplikovaný, protože tam můžeš mít různý dotazy a mutace. Takže třeba logovat všechny operace je možná overkill. Mělo by se zaměřit spíš na klíčový akce a error messages. Dobrý kompromis může bejt logovat důležitý operace a info o uživatelských akcích, ale ne všechno do detailu. Zkouším to řešit tak, že logy filtruju podle váhy, takže kritický věci mám na očích a ostatní si prolezu až když je potřeba. Takže udržet to v rovnováze je klíčový.

128 slov
1.3 minut čtení
31. 8. 2024
Adam Švanda

Je to dost těžká otázka. Logování všechno může být užitečný, když máš problémy a potřebuješ zjistit, co se dělo. Ale zase, pokud loguješ každou blbost, tak ti to pak hodně znepřehlední logy a hledání konkrétního problému je peklo. Mě se osvědčilo logovat hlavně důležitý akce a chyby. Třeba v GraphQL to může být úžasně užitečný, když loguješ úspěšný dotazy a jejich výkony, takže víš, co lidi používají a kde jsou případný problémy. Ale ideálně si nastavit nějaký úrovně logování – třeba info, warn a error – a podle toho si vyfiltrovat, co potřebuješ. A možná i nějaký rotace logů udělat, aby se ti to nehrnulo do jednoho souboru. Dobrý je mít i možnost rychle dohledat konkrétní akce s možností filtrace. Takže já bych řekl, že je lepší mít víc dat, ale organizovaně, než chaotický hromadění všeho.

136 slov
1.4 minut čtení
13. 11. 2024
Denisa Pánková
GraphQL.cz/Články/Logování API aktivit
Jak správně logovat uživatelské dotazy v GraphQL?Objevte, jak efektivně logovat uživatelské dotazy v GraphQL a jak tyto údaje mohou zlepšit uživatelskou zkušenost.
1000 slov
10 minut čtení
22. 10. 2022
Jana Procházková
Přečíst článek
Podobné otázky