Sobes.tech
Junior — Middle

Оё метавонед принсипҳо ва усулҳои сабт дар забони Go-ро шарҳ диҳед?

sobes.tech AI

Ҷавоб аз AI

ในภาษา Go สำหรับการบันทึกบันทึก (logging) โดยทั่วไปจะใช้แพ็กเกจ log จากไลบรารีมาตรฐาน หลักการและวิธีการหลัก:

  • ความง่ายในการใช้งาน: แพ็กเกจ log ให้ฟังก์ชัน Print, Printf, Println, Fatal, Panic สำหรับการแสดงข้อความ
  • การตั้งค่ารูปแบบการแสดงผล: สามารถกำหนดรูปแบบการแสดงผล เช่น การเพิ่มเวลา หมายเลขบรรทัด ฯลฯ
  • สร้าง logger ของตัวเอง ด้วย log.New() เพื่อเขียนบันทึกลงในไฟล์หรือสตรีมต่าง ๆ

ตัวอย่างการบันทึกง่าย ๆ:

import (
    "log"
    "os"
)

func main() {
    ไฟล์, ข้อผิดพลาด := os.OpenFile("app.log", os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666)
    if ข้อผิดพลาด != nil {
        log.Fatal(ข้อผิดพลาด)
    }
    logger := log.New(ไฟล์, "INFO: ", log.Ldate|log.Ltime|log.Lshortfile)
    logger.Println("แอปพลิเคชันเริ่มทำงาน")
}

สำหรับการบันทึกที่ซับซ้อนมากขึ้น มักจะใช้ไลบรารีภายนอกเช่น zap หรือ logrus ซึ่งสนับสนุนระดับของบันทึก รูปแบบ และการเขียนแบบอะซิงโครนัส