Don't initialize logger multiple times.
parent
ce41e1d0ec
commit
7caa68e3be
18
debug.go
18
debug.go
|
@ -20,6 +20,7 @@ import (
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
"log"
|
"log"
|
||||||
"os"
|
"os"
|
||||||
|
"sync"
|
||||||
)
|
)
|
||||||
|
|
||||||
var fEnableDebug = flag.Bool(
|
var fEnableDebug = flag.Bool(
|
||||||
|
@ -27,13 +28,24 @@ var fEnableDebug = flag.Bool(
|
||||||
false,
|
false,
|
||||||
"Write FUSE debugging messages to stderr.")
|
"Write FUSE debugging messages to stderr.")
|
||||||
|
|
||||||
// Create a logger based on command-line flag settings.
|
var gLogger *log.Logger
|
||||||
func getLogger() *log.Logger {
|
var gLoggerOnce sync.Once
|
||||||
|
|
||||||
|
func initLogger() {
|
||||||
|
if !flag.Parsed() {
|
||||||
|
panic("initLogger called before flags available.")
|
||||||
|
}
|
||||||
|
|
||||||
var writer io.Writer = ioutil.Discard
|
var writer io.Writer = ioutil.Discard
|
||||||
if *fEnableDebug {
|
if *fEnableDebug {
|
||||||
writer = os.Stderr
|
writer = os.Stderr
|
||||||
}
|
}
|
||||||
|
|
||||||
const flags = log.Ldate | log.Ltime | log.Lmicroseconds | log.Lshortfile
|
const flags = log.Ldate | log.Ltime | log.Lmicroseconds | log.Lshortfile
|
||||||
return log.New(writer, "fuse: ", flags)
|
gLogger = log.New(writer, "fuse: ", flags)
|
||||||
|
}
|
||||||
|
|
||||||
|
func getLogger() *log.Logger {
|
||||||
|
gLoggerOnce.Do(initLogger)
|
||||||
|
return gLogger
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue