Obsah
Pojem Log
Log (česky záznam, protokol) je textový soubor nebo výstup, který zaznamenává události, chyby, varování a další informace o chodu aplikace, systému nebo programu.
Co je log
Log slouží k:
- Sledování chování aplikace v reálném čase
- Debugování - hledání a oprava chyb
- Auditování - kdo, kdy a co provedl
- Monitorování výkonu a stavu systému
- Analýze problémů, které se staly v minulosti
Kde se s logy setkáme
Webový vývoj
1. Konzole prohlížeče (Browser Console)
V JavaScriptu se logy vypisují pomocí console objektu:
console.log('Základní zpráva'); // Běžná informace console.info('Informativní zpráva'); // Info console.warn('Varování'); // Varování (žlutě) console.error('Chyba!'); // Chyba (červeně) console.debug('Debug info'); // Debug informace // Logování proměnných let jmeno = 'Jan'; let vek = 25; console.log('Uživatel:', jmeno, 'Věk:', vek); // Logování objektů let osoba = {jmeno: 'Jan', vek: 25}; console.log(osoba); // Vypíše celý objekt console.table(osoba); // Vypíše jako tabulku
Jak otevřít konzoli prohlížeče:
- Chrome/Edge: F12 nebo Ctrl+Shift+I → záložka Console
- Firefox: F12 nebo Ctrl+Shift+K
- Safari: Cmd+Option+C (macOS)
Serverový vývoj
Node.js (JavaScript na serveru):
console.log('Server běží na portu 3000'); console.error('Nepodařilo se připojit k databázi');
PHP:
error_log("Chyba při zpracování požadavku"); echo "Ladící výpis: " . $promenna;
Python:
import logging logging.info("Aplikace spuštěna") logging.warning("Nedostatečná paměť") logging.error("Kritická chyba!")
Systémové logy
Operační systémy zapisují logy do speciálních souborů:
Linux/Unix:
/var/log/syslog- hlavní systémový log/var/log/apache2/error.log- chyby webového serveru/var/log/auth.log- přihlášení uživatelů
Windows:
- Event Viewer (Prohlížeč událostí)
- Aplikační logy, systémové logy, bezpečnostní logy
Úrovně logování
Logy mají různé úrovně závažnosti (od nejméně po nejvíce závažné):
| Úroveň | Popis | Použití |
|---|---|---|
| TRACE | Velmi detailní info | Hloubkové ladění |
| DEBUG | Ladící informace | Vývoj a testování |
| INFO | Běžné informace | Důležité události |
| WARN | Varování | Potenciální problémy |
| ERROR | Chyby | Chyby, které aplikace zvládne |
| FATAL | Kritické chyby | Pád aplikace |
Příklad logu
Typický formát logové zprávy:
[2026-01-06 14:23:15] [INFO] Server spuštěn na portu 3000 [2026-01-06 14:23:47] [DEBUG] Načítám data z databáze... [2026-01-06 14:23:48] [INFO] Uživatel 'jan.novak' se přihlásil [2026-01-06 14:24:12] [WARN] Pomalý dotaz do databáze (2.3s) [2026-01-06 14:25:03] [ERROR] Nepodařilo se odeslat email: Connection timeout [2026-01-06 14:25:05] [INFO] Pokus o opětovné odeslání emailu...
Každý řádek obvykle obsahuje:
- Časové razítko - kdy se událost stala
- Úroveň - jak závažná je zpráva
- Zpráva - popis události
- Volitelně: zdroj (modul, funkce), uživatel, IP adresa
Praktický příklad v JavaScriptu
// Funkce pro přihlášení uživatele function prihlasit(email, heslo) { console.log(`[${new Date().toISOString()}] Pokus o přihlášení: ${email}`); if (!email || !heslo) { console.error('Chyba: Email nebo heslo je prázdné'); return false; } try { // Simulace ověření if (heslo.length < 6) { console.warn('Varování: Příliš krátké heslo'); } // Úspěšné přihlášení console.log(`✓ Uživatel ${email} úspěšně přihlášen`); console.info('Session ID:', Math.random().toString(36)); return true; } catch (error) { console.error('Kritická chyba při přihlášení:', error); return false; } } // Použití prihlasit('jan@email.cz', 'heslo123');
Výstup v konzoli:
[2026-01-06T13:23:15.123Z] Pokus o přihlášení: jan@email.cz Varování: Příliš krátké heslo ✓ Uživatel jan@email.cz úspěšně přihlášen Session ID: 8k2j9f3h1s
Doporučené praktiky
- Během vývoje: Používejte hodně logů pro pochopení toku programu
- V produkci: Logujte jen důležité události, chyby a varování
- Nelogujte citlivá data: hesla, čísla kreditních karet, osobní údaje
- Používejte správné úrovně: ERROR pro chyby, INFO pro běžné události
- Strukturujte zprávy: Konzistentní formát usnadňuje čtení a zpracování
- Rotujte logy: Staré logy archivujte nebo mažte (šetří místo na disku)
Nástroje pro práci s logy
- Prohlížeč: DevTools Console
- Textové editory: Pro čtení log souborů
- grep (Linux): Vyhledávání v logech:
grep ERROR app.log - Logování knihovny: Winston (Node.js), Log4j (Java), Monolog (PHP)
- Monitoring služby: Sentry, LogRocket, Datadog - sledují logy v reálném čase
- ELK Stack: Elasticsearch + Logstash + Kibana - pro pokročilou analýzu
Shrnutí
Log je záznam toho, co se děje v aplikaci. Je to jako deník programu, který vývojářům pomáhá:
- Pochopit, jak program funguje
- Najít a opravit chyby
- Sledovat, co uživatelé dělají
- Analyzovat problémy, které se staly v minulosti
Každý programátor by měl umět logy používat - jsou to oči a uši do běžící aplikace.
