Create crond scheduler and dependencies and store to disk

This commit is contained in:
bel
2020-03-12 15:14:25 -06:00
parent f022b26987
commit 122806f438
11 changed files with 508 additions and 0 deletions

21
logger/logger.go Normal file
View File

@@ -0,0 +1,21 @@
package logger
import (
"local/logb"
)
type Logger struct{}
func New() Logger {
return Logger{}
}
func (l Logger) Info(m string, args ...interface{}) {
args = append([]interface{}{m}, args...)
logb.Info(args...)
}
func (l Logger) Error(e error, m string, args ...interface{}) {
args = append([]interface{}{e, m}, args...)
logb.Error(args...)
}

41
logger/logger_test.go Normal file
View File

@@ -0,0 +1,41 @@
package logger
import (
"bytes"
"errors"
"io/ioutil"
"local/logb"
"os"
"testing"
cron "github.com/robfig/cron/v3"
)
func TestInterface(t *testing.T) {
l := New()
var logger cron.Logger
logger = l
w := bytes.NewBuffer(nil)
logb.SetWriter(w)
f, err := ioutil.TempFile(os.TempDir(), "logger.testInterface")
if err != nil {
t.Fatal(err)
}
defer os.Remove(f.Name())
was := os.Stderr
os.Stderr = f
defer func() {
os.Stderr = was
}()
logger.Info("hello from %v", "me")
logger.Error(errors.New("bad"), "error from %v", "me")
if !bytes.Contains(w.Bytes(), []byte(`error from me`)) {
t.Errorf("%s", w.Bytes())
}
if !bytes.Contains(w.Bytes(), []byte(`hello from me`)) {
t.Errorf("%s", w.Bytes())
}
}