th7/db/logger/logger.go

39 lines
546 B
Go

package logger
import (
"th7/ports"
"time"
)
type Logger struct {
core ports.CorePort
db ports.DBPort
period int
run bool
}
func doLogging(log *Logger) {
duration := time.Duration(log.period) * time.Second
for log.run {
time.Sleep(duration)
log.db.Save()
}
}
func NewLogger(core ports.CorePort, db ports.DBPort, period int) *Logger {
var logger Logger
logger.db = db
logger.core = core
logger.period = period
logger.run = true
go doLogging(&logger)
return &logger
}
func (l *Logger) Stop() {
l.run = false
}