Create crond scheduler and dependencies and store to disk
This commit is contained in:
21
logger/logger.go
Normal file
21
logger/logger.go
Normal 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
41
logger/logger_test.go
Normal 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())
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user