Skip to content

log

Package log standar Go mengimplementasikan logging sederhana.

go
func main() {
   log.Println("Log")
   log.Panicln("Log panic")
   log.Fatalln("Log error")
}

Fatal akan memanggil os.exit(1) setelah menulis informasi log, panic akan melempar panic

Prefix

go
func (l *Logger) Prefix() string // Mendapatkan prefix

func (l *Logger) SetPrefix(prefix string) // Mengatur prefix

Contoh

go
func main() {
  log.SetPrefix("[main]")
  log.Println("Log")
  log.Panicln("Log panic")
}

Flag

Metode

go
func (l *Logger) Flags() int // Mengakses

func (l *Logger) SetFlags(flag int) // Mengatur

Konstanta

go
const (
   Ldate         = 1 << iota     // Tanggal
   Ltime                         // Waktu
   Lmicroseconds                 // Mikrodetik
   Llongfile                     // Nama file lengkap
   Lshortfile                    // Nama file pendek
   LUTC                          // Zona waktu
   Lmsgprefix                    // Prefix
   LstdFlags     = Ldate | Ltime // Nilai awal
)

Contoh

go
func main() {
   log.SetFlags(log.Lshortfile | log.Lmicroseconds | log.Lmsgprefix | log.Ldate | log.Ltime)
   log.Println("Log")
   log.Panicln("Log panic")
}

Tentu saja, Anda juga dapat menggunakan log.SetOutput(w io.Writer) untuk mengatur path output log, atau membuat instance sendiri melalui metode New.

go
func New(out io.Writer, prefix string, flag int) *Logger

Singkatnya, package log pustaka standar tidak menyediakan fungsi yang cukup lengkap, kami biasanya menggunakan package log pihak ketiga yang lebih lengkap, seperti zap dan lain-lain.

Golang by www.golangdev.cn edit