basics
This commit is contained in:
48
resource.go
Normal file
48
resource.go
Normal file
@ -0,0 +1,48 @@
|
||||
package logger
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"git.schreifuchs.ch/schreifuchs/logger/lvl"
|
||||
)
|
||||
|
||||
type Log struct {
|
||||
Message string
|
||||
Level lvl.Level
|
||||
}
|
||||
|
||||
type Logger struct {
|
||||
Level lvl.Level
|
||||
LogChan chan *Log
|
||||
// OutFile io.Writer
|
||||
}
|
||||
|
||||
func New(l lvl.Level) *Logger {
|
||||
|
||||
c := make(chan *Log, 20)
|
||||
|
||||
go func() {
|
||||
for log := range c {
|
||||
fmt.Printf("%v: %s\n", log.Level, log.Message)
|
||||
}
|
||||
|
||||
}()
|
||||
|
||||
return &Logger{
|
||||
Level: l,
|
||||
LogChan: c,
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
func NewWithStrategy(lvl lvl.Level, log func(<-chan *Log)) *Logger {
|
||||
c := make(chan *Log, 20)
|
||||
|
||||
go log(c)
|
||||
|
||||
return &Logger{
|
||||
Level: lvl,
|
||||
LogChan: c,
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user