Jak porovnávám logy při debugování
Když aplikace přestane fungovat po deploymentu, první místo kde hledám je v logách. Porovnání logů před a po změně může rychle odhalit co se pokazilo.
Proč porovnávám logy
- Regrese - nové errory nebo warningy
- Performance - response times, request counts
- Verifikace deploymentu - funguje to správně?
- Pattern recognition - anomálie v log patterns
- Root cause - trace error zpět ke zdroji
Příprava logů
Než začnu porovnávat:
- Normalizuj timestamps - stejný formát
- Odfiltruj noise - request IDs, session IDs (mění se vždycky)
- Extrahuj relevantní části - log level, message, stack traces
- Seřaď - pokud na pořadí nezáleží
- Redaktuj sensitive data - hesla, tokeny, PII
Techniky
Line-by-line diff: Pro malé log soubory, basic comparison.
Statistický diff: Počítám frekvenci různých log levels a messages.
Pattern matching: Hledám nové nebo chybějící error patterns.
Timestamp analysis: Timing změny, chybějící eventy.
Sampling: Pro velké logy - reprezentativní vzorek.
Co používám
Základní:
- diff/git diff - text comparison
- PorovnejText - vizuální porovnání
Pro velké logy:
- ELK stack (Elasticsearch, Logstash, Kibana)
- Splunk/Datadog - enterprise
- grep/awk/sed - command-line filtering
Co hledám
- Nové errory - nebyly v předchozích logách
- Zvýšený error rate - frekvence existujících chyb
- Chybějící log entries - expected eventy které nejsou
- Performance degradace - delší response times
- Stack trace změny - jiný code path
Structured vs unstructured logy
Structured (JSON):
- Easy to parse
- Lepší pro automatizaci
- Doporučuji kde to jde
Unstructured (plain text):
- Vyžaduje pattern matching
- Těžší na automatizaci
Tip: pokud můžeš, konvertuj na structured.
Automatizace v CI/CD
Co máme nastavené:
- Po deploymentu automaticky porovnat logy s baseline
- Alert když error rate překročí threshold
- Sbírat metriky z logů a trackovat trendy
- Automatický rollback při critical errors
- Archivace logů pro historickou analýzu
Log diff je mocná technika pro rychlý debugging. Hlavně v kombinaci s monitoring a alerting.
Potřebuješ rychle porovnat dva log soubory? Hoď je do PorovnejText.
Vyzkoušejte PorovnejText.cz zdarma
Nejrychlejší český nástroj pro porovnání textů. Vše probíhá ve vašem prohlížeči, žádná registrace není potřeba.
Porovnat texty nyní →Související články
Git diff mi nestačí - kdy a proč používám online diff
Jako programátor pracuju s git diff denně. Ale někdy potřebuju rychle porovnat dva kousky kódu a nechce se mi kvůli tomu otvírat IDE. Kdy použít co.
Markdown a README - jak kontroluju změny
Píšete dokumentaci v Markdownu? Tady je jak porovnávám změny v README a dalších md souborech.
Jak automatizuju changelog z Git commitů
Ruční psaní release notes mě nebavilo. Tady je jak jsem to automatizoval pomocí Conventional Commits.