Sobes.tech
Junior — Middle

Kde obvykle zaznamenáváš logy v aplikaci nebo systému?

sobes.tech AI

Odpověď od AI

V Go je obvykle zaznamenávání logů prováděno pomocí standardního balíčku log nebo pokročilejších knihoven, jako jsou zap, logrus nebo zerolog.

Logy se obvykle zapisují:

  • Do konzole (stdout/stderr) — vhodné pro místní vývoj a kontejnerizované aplikace.
  • Do souborů — pro dlouhodobé ukládání a analýzu.
  • Do vzdálených systémů logování (například přes syslog, Fluentd, ELK stack).

Příklad zápisu logu do souboru pomocí standardního balíčku:

package main

import (
    "log"
    "os"
)

func main() {
    soubor, chyba := os.OpenFile("app.log", os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666)
    if chyba != nil {
        log.Fatal(chyba)
    }
    defer soubor.Close()

    log.SetOutput(soubor)
    log.Println("Aplikace byla spuštěna")
}

V reálných aplikacích se často používají flexibilnější knihovny, které umožňují konfigurovat úrovně logování, formát a výstup.