Sobes.tech
Junior — Middle

Πού πραγματοποιείτε συνήθως την καταγραφή των logs στην εφαρμογή ή το σύστημα;

sobes.tech AI

Απάντηση από AI

Στην Go, η καταγραφή των logs γίνεται συνήθως με τη χρήση του προεπιλεγμένου πακέτου log ή πιο προηγμένων βιβλιοθηκών όπως zap, logrus ή zerolog.

Τα logs συνήθως γράφονται:

  • Στη κονσόλα (stdout/stderr) — βολικό για τοπική ανάπτυξη και εφαρμογές κοντέινερ.
  • Σε αρχεία — για μακροπρόθεσμη αποθήκευση και ανάλυση.
  • Σε απομακρυσμένα συστήματα καταγραφής (π.χ., μέσω syslog, Fluentd, ELK stack).

Παράδειγμα εγγραφής σε αρχείο με το προεπιλεγμένο πακέτο:

package main

import (
    "log"
    "os"
)

func main() {
    αρχείο, err := os.OpenFile("app.log", os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666)
    if err != nil {
        log.Fatal(err)
    }
    defer αρχείο.Close()

    log.SetOutput(αρχείο)
    log.Println("Η εφαρμογή ξεκίνησε")
}

Σε πραγματικές εφαρμογές, συχνά χρησιμοποιούνται πιο ευέλικτες βιβλιοθήκες που επιτρέπουν τη διαμόρφωση επιπέδων καταγραφής, μορφής και εξόδου.