fix(pkg/logger): exclude logger library into an own repository

This commit is contained in:
2019-09-24 15:34:14 +02:00
parent bacddcfbf9
commit ea83d43cd6
9 changed files with 14 additions and 192 deletions

View File

@ -9,7 +9,7 @@ import (
"github.com/Masterminds/semver"
"github.com/go-flucky/flucky/pkg/config"
"github.com/go-flucky/flucky/pkg/logger"
"github.com/volker-raschek/go-logger/pkg/logger"
"github.com/go-flucky/flucky/pkg/rgbled"
"github.com/go-flucky/flucky/pkg/sensor"
"github.com/go-flucky/flucky/pkg/storage/db"

View File

@ -1,93 +0,0 @@
package logger
import (
"fmt"
"io"
"io/ioutil"
"os"
"sync"
"time"
)
type defaultLogger struct {
logLevel LogLevel
mutex *sync.Mutex
stdout io.Writer
stderr io.Writer
}
func (dl *defaultLogger) Debug(f string, v ...interface{}) {
dl.log(LogLevelDebug, f, v...)
}
func (dl *defaultLogger) Info(f string, v ...interface{}) {
dl.log(LogLevelInfo, f, v...)
}
func (dl *defaultLogger) Warn(f string, v ...interface{}) {
dl.log(LogLevelWarn, f, v...)
}
func (dl *defaultLogger) Error(f string, v ...interface{}) {
dl.log(LogLevelError, f, v...)
}
func (dl *defaultLogger) Fatal(f string, v ...interface{}) {
dl.log(LogLevelFatal, f, v...)
os.Exit(1)
}
func (dl *defaultLogger) log(ll LogLevel, f string, v ...interface{}) {
if dl.logLevel > ll {
return
}
layout := "2006/01/02 15:04:05"
dw := dl.stdout
prefix := ""
switch ll {
case LogLevelDebug:
prefix = "DEBUG"
case LogLevelInfo:
prefix = "INFO"
case LogLevelWarn:
prefix = "WARN"
case LogLevelError:
prefix = "ERROR"
dw = dl.stderr
case LogLevelFatal:
prefix = "FATAL"
dw = dl.stderr
}
dl.mutex.Lock()
fmt.Fprintf(dw, "%v %v: %v\n", time.Now().Format(layout), prefix, fmt.Sprintf(f, v...))
dl.mutex.Unlock()
}
func NewDefaultLogger(logLevel LogLevel) Logger {
return &defaultLogger{
logLevel: logLevel,
mutex: new(sync.Mutex),
stdout: os.Stdout,
stderr: os.Stderr,
}
}
func NewCustomLogger(loglevel LogLevel, out io.Writer, err io.Writer) Logger {
return &defaultLogger{
logLevel: loglevel,
mutex: new(sync.Mutex),
stdout: out,
stderr: err,
}
}
func NewSilentLogger() Logger {
return &defaultLogger{
logLevel: LogLevelDebug,
mutex: new(sync.Mutex),
stdout: ioutil.Discard,
stderr: ioutil.Discard,
}
}

View File

@ -1,69 +0,0 @@
package logger_test
import (
"bytes"
"strings"
"testing"
"github.com/go-flucky/flucky/pkg/logger"
"github.com/stretchr/testify/require"
)
func TestLogger(t *testing.T) {
require := require.New(t)
stdoutBuffer := new(bytes.Buffer)
stderrBuffer := new(bytes.Buffer)
// LogLevelDebug
l := logger.NewCustomLogger(logger.LogLevelDebug, stdoutBuffer, stderrBuffer)
l.Debug("DEBUG")
require.NotEmpty(stdoutBuffer.Bytes())
require.Empty(stderrBuffer.Bytes())
stdoutBuffer.Reset()
stderrBuffer.Reset()
// LogLevelInfo
l = logger.NewCustomLogger(logger.LogLevelInfo, stdoutBuffer, stderrBuffer)
l.Debug("DEBUG")
require.Empty(stdoutBuffer.Bytes())
require.Empty(stderrBuffer.Bytes())
stdoutBuffer.Reset()
stderrBuffer.Reset()
l.Info("INFO")
require.NotEmpty(stdoutBuffer.Bytes())
require.Empty(stderrBuffer.Bytes())
stringArray := strings.Split(stdoutBuffer.String(), ": ")
require.Equal(2, len(stringArray))
require.Equal("INFO\n", stringArray[1])
stdoutBuffer.Reset()
stderrBuffer.Reset()
// LogLevelWarn
l = logger.NewCustomLogger(logger.LogLevelWarn, stdoutBuffer, stderrBuffer)
l.Warn("WARN")
require.NotEmpty(stdoutBuffer.Bytes())
require.Empty(stderrBuffer.Bytes())
stringArray = strings.Split(stdoutBuffer.String(), ": ")
require.Equal(2, len(stringArray))
require.Equal("WARN\n", stringArray[1])
stdoutBuffer.Reset()
stderrBuffer.Reset()
// LogLevelError
l = logger.NewCustomLogger(logger.LogLevelError, stdoutBuffer, stderrBuffer)
l.Error("ERROR")
require.Empty(stdoutBuffer.Bytes())
require.NotEmpty(stderrBuffer.Bytes())
stringArray = strings.Split(stderrBuffer.String(), ": ")
require.Equal(2, len(stringArray))
require.Equal("ERROR\n", stringArray[1])
}

View File

@ -1,9 +0,0 @@
package logger
type Logger interface {
Debug(string, ...interface{})
Info(string, ...interface{})
Warn(string, ...interface{})
Error(string, ...interface{})
Fatal(string, ...interface{})
}

View File

@ -1,11 +0,0 @@
package logger
type LogLevel int
const (
LogLevelDebug LogLevel = iota + 1
LogLevelInfo
LogLevelWarn
LogLevelError
LogLevelFatal
)

View File

@ -5,7 +5,7 @@ import (
"fmt"
"github.com/go-flucky/flucky/pkg/config"
"github.com/go-flucky/flucky/pkg/logger"
"github.com/volker-raschek/go-logger/pkg/logger"
_ "github.com/lib/pq"
)