gelf/gelflogger.go

108 lines
1.7 KiB
Go

package gelf
import (
"fmt"
"log"
golf "gopkg.in/aphistic/golf.v0"
)
var (
c *golf.Client
)
func SetDefaultConfig(host string, port int, attrs map[string]interface{}) {
if c != nil {
c.Close()
}
if host != "" {
c, _ = golf.NewClient()
defer c.Close()
c.Dial(fmt.Sprintf("udp://%s:%d", host, port))
l, _ := c.NewLogger()
golf.DefaultLogger(l)
for key, value := range attrs {
l.SetAttr(key, value)
}
}
}
/*
Debug log this message at debug level
*/
func Debug(msg string) {
if c != nil {
golf.Info(msg)
}
log.Println(msg)
}
/*
Debugf log this message at debug level with formatting
*/
func Debugf(format string, va ...interface{}) {
if c != nil {
golf.Infof(format, va...)
}
log.Printf(format+"\n", va...)
}
/*
Info log this message at info level
*/
func Info(msg string) {
if c != nil {
golf.Info(msg)
}
log.Println(msg)
}
/*
Infof log this message at info level with formatting
*/
func Infof(format string, va ...interface{}) {
if c != nil {
golf.Infof(format, va...)
}
log.Printf(format+"\n", va...)
}
/*
Alert log this maeesage at alert level
*/
func Alert(msg string) {
if c != nil {
golf.Alert(msg)
}
log.Printf("Alert: %s\n", msg)
}
/*
Alertf log this maeesage at alert level with formatting
*/
func Alertf(format string, va ...interface{}) {
if c != nil {
golf.Alertf(format, va...)
}
log.Printf("Alert: %s\n", fmt.Sprintf(format, va...))
}
// Fatal logs a message at level Fatal on the standard logger.
func Fatal(msg string) {
if c != nil {
golf.Crit(msg)
}
log.Fatalf("Fatal: %s\n", msg)
}
// Fatalf logs a message at level Fatal on the standard logger.
func Fatalf(format string, va ...interface{}) {
if c != nil {
golf.Critf(format, va...)
}
log.Fatalf("Fatal: %s\n", fmt.Sprintf(format, va...))
}