Go
Protokollierung
Suche…
Grundlegendes Drucken
Go verfügt über eine integrierte Protokollierungsbibliothek, die als log
mit der häufig verwendeten Methode Print
und seinen Varianten bezeichnet wird. Sie können die Bibliothek importieren und dann einige grundlegende Druckvorgänge durchführen:
package main
import "log"
func main() {
log.Println("Hello, world!")
// Prints 'Hello, world!' on a single line
log.Print("Hello, again! \n")
// Prints 'Hello, again!' but doesn't break at the end without \n
hello := "Hello, Stackers!"
log.Printf("The type of hello is: %T \n", hello)
// Allows you to use standard string formatting. Prints the type 'string' for %T
// 'The type of hello is: string
}
Protokollierung in Datei
Es ist möglich, das Protokollziel mit etwas anzugeben, das die io.Writer-Schnittstelle anzeigt. Damit können wir uns in eine Datei einloggen:
package main
import (
"log"
"os"
)
func main() {
logfile, err := os.OpenFile("test.log", os.O_RDWR|os.O_CREATE|os.O_APPEND, 0666)
if err != nil {
log.Fatalln(err)
}
defer logfile.Close()
log.SetOutput(logfile)
log.Println("Log entry")
}
Ausgabe:
$ cat test.log
2016/07/26 07:29:05 Log entry
Protokollierung in Syslog
Es ist auch möglich, sich mit log/syslog
wie folgt bei syslog log/syslog
:
package main
import (
"log"
"log/syslog"
)
func main() {
syslogger, err := syslog.New(syslog.LOG_INFO, "syslog_example")
if err != nil {
log.Fatalln(err)
}
log.SetOutput(syslogger)
log.Println("Log entry")
}
Nach dem Ausführen können wir diese Zeile in syslog sehen:
Jul 26 07:35:21 localhost syslog_example[18358]: 2016/07/26 07:35:21 Log entry
Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow