Last active
September 19, 2018 09:21
-
-
Save birowo/cc36bbc61d5fd0e90b54dfbac7183cdc to your computer and use it in GitHub Desktop.
golang : coba logrus library https://github.com/sirupsen/logrus . referensi: https://blog.scalyr.com/2018/06/go-logging/
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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