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 // Enable logging to the log file
24 func (logger *MyLogger) EnableLogging(enable_logging bool) bool {
25 if logger.logging_enabled == enable_logging {
26 return enable_logging // as nothing to do
29 old_value := logger.logging_enabled
30 logger.logging_enabled = enable_logging
33 logfile := MyName() + ".log"
35 file, err := os.OpenFile(logfile, os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0600)
37 log.Fatal("Failed to open log file", logfile, ":", err)
39 logger.logger = log.New(file, "", log.Ldate|log.Ltime)
44 // pass Println() calls downstream if we have a valid logger setup
45 func (logger *MyLogger) Println(v ...interface{}) {
46 if logger.logger != nil {
47 logger.logger.Println(v)