Don't initialize logger multiple times.

geesefs-0-30-9
Aaron Jacobs 2015-04-29 11:19:55 +10:00
parent ce41e1d0ec
commit 7caa68e3be
1 changed files with 15 additions and 3 deletions

View File

@ -20,6 +20,7 @@ import (
"io/ioutil"
"log"
"os"
"sync"
)
var fEnableDebug = flag.Bool(
@ -27,13 +28,24 @@ var fEnableDebug = flag.Bool(
false,
"Write FUSE debugging messages to stderr.")
// Create a logger based on command-line flag settings.
func getLogger() *log.Logger {
var gLogger *log.Logger
var gLoggerOnce sync.Once
func initLogger() {
if !flag.Parsed() {
panic("initLogger called before flags available.")
}
var writer io.Writer = ioutil.Discard
if *fEnableDebug {
writer = os.Stderr
}
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
}