package statusscreen import ( stdlog "log" "sync" "time" "github.com/iotaledger/hive.go/logger" ) var ( mu sync.Mutex logMessages = make([]*logMessage, 0) logMessagesByName = make(map[string]*logMessage) ) type logMessage struct { time time.Time name string level logger.Level msg string } func stdLogMsg(level logger.Level, name string, msg string) { stdlog.Printf("[ %s ] %s: %s", level.CapitalString(), name, msg, ) } func storeLogMsg(level logger.Level, name string, message string) { mu.Lock() defer mu.Unlock() logMessages = append(logMessages, &logMessage{ time: time.Now(), name: name, level: level, msg: message, }) if statusMessage, exists := logMessagesByName[name]; !exists { logMessagesByName[name] = &logMessage{ time: time.Now(), name: name, level: level, msg: message, } } else { statusMessage.time = time.Now() statusMessage.level = level statusMessage.msg = message } }