MVP
This commit is contained in:
61
jobs/jobListener.go
Normal file
61
jobs/jobListener.go
Normal file
@@ -0,0 +1,61 @@
|
||||
package jobs
|
||||
|
||||
import (
|
||||
"gogs.mikescher.com/BlackForestBytes/goext/rfctime"
|
||||
"locbunny/logic"
|
||||
"locbunny/models"
|
||||
"time"
|
||||
)
|
||||
|
||||
type JobListener struct {
|
||||
execID models.JobExecutionID
|
||||
start time.Time
|
||||
jobName string
|
||||
logs []models.JobLog
|
||||
app *logic.Application
|
||||
}
|
||||
|
||||
func NewJobListener(app *logic.Application, id models.JobExecutionID, jobName string) *JobListener {
|
||||
return &JobListener{
|
||||
execID: id,
|
||||
jobName: jobName,
|
||||
start: time.Now(),
|
||||
logs: make([]models.JobLog, 0),
|
||||
app: app,
|
||||
}
|
||||
}
|
||||
|
||||
func (lstr *JobListener) Log(lvl models.JobLogLevel, logtype string, msg string, extra any) {
|
||||
logentry := models.JobLog{
|
||||
JobLogID: models.NewJobLogID(),
|
||||
JobExecutionID: lstr.execID,
|
||||
JobName: lstr.jobName,
|
||||
Type: logtype,
|
||||
Time: rfctime.NowRFC3339Nano(),
|
||||
Message: msg,
|
||||
Level: lvl,
|
||||
Extra: extra,
|
||||
}
|
||||
|
||||
lstr.logs = append(lstr.logs, logentry)
|
||||
}
|
||||
|
||||
func (lstr *JobListener) LogDebug(logtype string, msg string, extra any) {
|
||||
lstr.Log(models.JobLogLevelDebug, logtype, msg, extra)
|
||||
}
|
||||
|
||||
func (lstr *JobListener) LogInfo(logtype string, msg string, extra any) {
|
||||
lstr.Log(models.JobLogLevelInfo, logtype, msg, extra)
|
||||
}
|
||||
|
||||
func (lstr *JobListener) LogWarn(logtype string, msg string, extra any) {
|
||||
lstr.Log(models.JobLogLevelWarn, logtype, msg, extra)
|
||||
}
|
||||
|
||||
func (lstr *JobListener) LogError(logtype string, msg string, extra any) {
|
||||
lstr.Log(models.JobLogLevelError, logtype, msg, extra)
|
||||
}
|
||||
|
||||
func (lstr *JobListener) LogFatal(logtype string, msg string, extra any) {
|
||||
lstr.Log(models.JobLogLevelFatal, logtype, msg, extra)
|
||||
}
|
||||
Reference in New Issue
Block a user