Junior — Middle
Ilovada odatda ilova yoki tizimda loglarni qayerga yozasiz?
sobes.tech AI
AIdan javob
Go tilida log yozish odatda standart log paketidan yoki zap, logrus yoki zerolog kabi ilg'or kutubxonalardan foydalanish bilan amalga oshiriladi.
Loglar odatda quyidagicha yoziladi:
- Konsolga (stdout/stderr) — mahalliy rivojlantirish va konteynerlashtirilgan ilovalar uchun qulay.
- Fayllarga — uzoq muddatli saqlash va tahlil uchun.
- Uzoqdagi loglash tizimlariga (masalan, syslog, Fluentd, ELK stack orqali).
Standart paket yordamida faylga log yozish misoli:
package main
import (
"log"
"os"
)
func main() {
fayl, xato := os.OpenFile("app.log", os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666)
if xato != nil {
log.Fatal(xato)
}
defer fayl.Close()
log.SetOutput(fayl)
log.Println("Ilova ishga tushdi")
}
Haqiqiy ilovalarda, odatda, log darajalarini, formatini va chiqishini sozlash imkonini beradigan kutubxonalar ishlatiladi.