86 lines
1.3 KiB
Go
86 lines
1.3 KiB
Go
|
package xgb
|
||
|
|
||
|
import (
|
||
|
"log"
|
||
|
"os"
|
||
|
)
|
||
|
|
||
|
// Log controls whether XGB emits errors to stderr. By default, it is enabled.
|
||
|
var PrintLog = true
|
||
|
|
||
|
// log is a wrapper around a log.PrintLogger so we can control whether it should
|
||
|
// output anything.
|
||
|
type xgblog struct {
|
||
|
*log.Logger
|
||
|
}
|
||
|
|
||
|
func newLogger() xgblog {
|
||
|
return xgblog{log.New(os.Stderr, "XGB: ", log.Lshortfile)}
|
||
|
}
|
||
|
|
||
|
func (lg xgblog) Print(v ...interface{}) {
|
||
|
if PrintLog {
|
||
|
lg.Logger.Print(v...)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func (lg xgblog) Printf(format string, v ...interface{}) {
|
||
|
if PrintLog {
|
||
|
lg.Logger.Printf(format, v...)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func (lg xgblog) Println(v ...interface{}) {
|
||
|
if PrintLog {
|
||
|
lg.Logger.Println(v...)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func (lg xgblog) Fatal(v ...interface{}) {
|
||
|
if PrintLog {
|
||
|
lg.Logger.Fatal(v...)
|
||
|
} else {
|
||
|
os.Exit(1)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func (lg xgblog) Fatalf(format string, v ...interface{}) {
|
||
|
if PrintLog {
|
||
|
lg.Logger.Fatalf(format, v...)
|
||
|
} else {
|
||
|
os.Exit(1)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func (lg xgblog) Fatalln(v ...interface{}) {
|
||
|
if PrintLog {
|
||
|
lg.Logger.Fatalln(v...)
|
||
|
} else {
|
||
|
os.Exit(1)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func (lg xgblog) Panic(v ...interface{}) {
|
||
|
if PrintLog {
|
||
|
lg.Logger.Panic(v...)
|
||
|
} else {
|
||
|
panic("")
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func (lg xgblog) Panicf(format string, v ...interface{}) {
|
||
|
if PrintLog {
|
||
|
lg.Logger.Panicf(format, v...)
|
||
|
} else {
|
||
|
panic("")
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func (lg xgblog) Panicln(v ...interface{}) {
|
||
|
if PrintLog {
|
||
|
lg.Logger.Panicln(v...)
|
||
|
} else {
|
||
|
panic("")
|
||
|
}
|
||
|
}
|