Skip to content

Instantly share code, notes, and snippets.

@birowo
Last active September 19, 2018 09:21
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save birowo/cc36bbc61d5fd0e90b54dfbac7183cdc to your computer and use it in GitHub Desktop.
Save birowo/cc36bbc61d5fd0e90b54dfbac7183cdc to your computer and use it in GitHub Desktop.
package main
import (
"fmt"
"os"
log "github.com/sirupsen/logrus"
)
func main() {
file, err := os.OpenFile("info.log", os.O_CREATE|os.O_APPEND, 0644)
if err != nil {
log.Fatal(err)
}
defer file.Close()
log.SetOutput(file) // log ditulis di file info.log
log.SetFormatter(&log.TextFormatter{})
// selain TextFormatter{} seperti: key1=val1 k2=val2
// ada juga JSONFormatter{} seperti: {key1: val1, k2: v2}
log.SetLevel(log.ErrorLevel)
// selain ErrorLevel ada juga(dari yg terberat s/d teringan):
// PanicLevel, FatalLevel, ErrorLevel, WarningLevel, InfoLevel, DebugLevel
// diset ErrorLevel artinya pemanggilan log level yg lebih ringan dari Error akan diabaikan
fmt.Printf("%q\n", log.AllLevels)
log.Debugln("debug")
// memanggil log level info dengan pesan: "debug"
// log level debug ini diabaikan(tidak dicatatkan pesan log-nya) karena lebih rendah dari level Error
log.
WithFields(log.Fields{"animal": "walrus", "size": 10}).
// WithFields menambahkan info lain dalam bentuk key-value pada pesan log-nya
Infoln("A group of ...")
// memanggil log level info dengan pesan: "A group of ..."
// pemanggilan log level info ini juga diabaikan
log.
WithFields(log.Fields{"omg": true, "number": 122}).
Warnln("The group's number ...")
// diabaikan
log.Errorln("error")
// mulai pemanggilan level error ini & level yg lebih tinggi selanjutnya akan dicatatkan pesan log-nya
log.
WithFields(log.Fields{"omg": true, "number": 100}).
Fatalln("The ice breaks!")
// pemanggilan log level fatal akan menyebabkan process exited(menutup aplikasi)
log.Panicln("panic")
// log panik ini tidak dipanggil(eksekusi tidak mencapai kode ini) karena aplikasi sudah tertutup
// jika log panik ini dipanggil juga akan menyebabkan process exited(menutup aplikasi)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment