Sobes.tech
Junior — Middle

Kde zvyčajne vykonávate zápis logov v aplikácii alebo systéme?

sobes.tech AI

Odpoveď od AI

V Go je zaznamenávanie logov zvyčajne vykonávané pomocou štandardného balíka log alebo pokročilejších knižníc ako zap, logrus alebo zerolog.

Logy sa zvyčajne zapisujú:

  • Do konzoly (stdout/stderr) — vhodné pre lokálny vývoj a kontajnerizované aplikácie.
  • Do súborov — pre dlhodobé ukladanie a analýzu.
  • Do vzdialených systémov logovania (napríklad cez syslog, Fluentd, ELK stack).

Príklad zápisu logu do súboru pomocou štandardného balíka:

package main

import (
    "log"
    "os"
)

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

    log.SetOutput(súbor)
    log.Println("Aplikácia bola spustená")
}

V reálnych aplikáciách sa často používajú flexibilnejšie knižnice, ktoré umožňujú konfigurovať úrovne logovania, formát a výstup.