1 // logger - minimal logger shared by everyone
9 // public visible interface
13 Logger = new(MyLogger)
14 Logger.EnableLogging(false)
17 // just add an extra field to enable or not
18 type MyLogger struct {
23 func (logger *MyLogger) EnableLogging(enable_logging bool) bool {
24 if logger.logging_enabled == enable_logging {
25 return enable_logging // as nothing to do
28 old_value := logger.logging_enabled
29 logger.logging_enabled = enable_logging
32 logfile := MyName() + ".log"
34 file, err := os.OpenFile(logfile, os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0600)
36 log.Fatal("Failed to open log file", logfile, ":", err)
38 logger.logger = log.New(file, "", log.Ldate|log.Ltime|log.Lshortfile)
43 // pass Println() calls downstream if we have a valid logger setup
44 func (logger *MyLogger) Println(v ...interface{}) {
45 if logger.logger != nil {
46 logger.logger.Println(v)