remove util/log in favour of logger (#23)
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
This commit is contained in:
parent
fc3794f548
commit
ef773d8d49
@ -1,17 +0,0 @@
|
|||||||
# Log
|
|
||||||
|
|
||||||
DEPRECATED: use github.com/micro/go-micro/v3/logger interface
|
|
||||||
|
|
||||||
This is the global logger for all micro based libraries.
|
|
||||||
|
|
||||||
## Set Logger
|
|
||||||
|
|
||||||
Set the logger for micro libraries
|
|
||||||
|
|
||||||
```go
|
|
||||||
// import go-micro/util/log
|
|
||||||
import "github.com/micro/go-micro/util/log"
|
|
||||||
|
|
||||||
// SetLogger expects github.com/micro/go-micro/debug/log.Log interface
|
|
||||||
log.SetLogger(mylogger)
|
|
||||||
```
|
|
228
util/log/log.go
228
util/log/log.go
@ -1,228 +0,0 @@
|
|||||||
// Package log is a global internal logger
|
|
||||||
// DEPRECATED: this is frozen package, use github.com/unistack-org/micro/v3/logger
|
|
||||||
package log
|
|
||||||
|
|
||||||
import (
|
|
||||||
"fmt"
|
|
||||||
"os"
|
|
||||||
"sync/atomic"
|
|
||||||
|
|
||||||
dlog "github.com/unistack-org/micro/v3/debug/log"
|
|
||||||
nlog "github.com/unistack-org/micro/v3/logger"
|
|
||||||
)
|
|
||||||
|
|
||||||
// level is a log level
|
|
||||||
type Level int32
|
|
||||||
|
|
||||||
const (
|
|
||||||
LevelFatal Level = iota
|
|
||||||
LevelError
|
|
||||||
LevelWarn
|
|
||||||
LevelInfo
|
|
||||||
LevelDebug
|
|
||||||
LevelTrace
|
|
||||||
)
|
|
||||||
|
|
||||||
type elog struct {
|
|
||||||
dlog dlog.Log
|
|
||||||
}
|
|
||||||
|
|
||||||
var (
|
|
||||||
// the local logger
|
|
||||||
logger dlog.Log = &elog{}
|
|
||||||
|
|
||||||
// default log level is info
|
|
||||||
level = LevelInfo
|
|
||||||
|
|
||||||
// prefix for all messages
|
|
||||||
prefix string
|
|
||||||
)
|
|
||||||
|
|
||||||
func levelToLevel(l Level) nlog.Level {
|
|
||||||
switch l {
|
|
||||||
case LevelTrace:
|
|
||||||
return nlog.TraceLevel
|
|
||||||
case LevelDebug:
|
|
||||||
return nlog.DebugLevel
|
|
||||||
case LevelWarn:
|
|
||||||
return nlog.WarnLevel
|
|
||||||
case LevelInfo:
|
|
||||||
return nlog.InfoLevel
|
|
||||||
case LevelError:
|
|
||||||
return nlog.ErrorLevel
|
|
||||||
case LevelFatal:
|
|
||||||
return nlog.FatalLevel
|
|
||||||
}
|
|
||||||
return nlog.InfoLevel
|
|
||||||
}
|
|
||||||
|
|
||||||
func init() {
|
|
||||||
switch os.Getenv("MICRO_LOG_LEVEL") {
|
|
||||||
case "trace":
|
|
||||||
level = LevelTrace
|
|
||||||
case "debug":
|
|
||||||
level = LevelDebug
|
|
||||||
case "warn":
|
|
||||||
level = LevelWarn
|
|
||||||
case "info":
|
|
||||||
level = LevelInfo
|
|
||||||
case "error":
|
|
||||||
level = LevelError
|
|
||||||
case "fatal":
|
|
||||||
level = LevelFatal
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (l Level) String() string {
|
|
||||||
switch l {
|
|
||||||
case LevelTrace:
|
|
||||||
return "trace"
|
|
||||||
case LevelDebug:
|
|
||||||
return "debug"
|
|
||||||
case LevelWarn:
|
|
||||||
return "warn"
|
|
||||||
case LevelInfo:
|
|
||||||
return "info"
|
|
||||||
case LevelError:
|
|
||||||
return "error"
|
|
||||||
case LevelFatal:
|
|
||||||
return "fatal"
|
|
||||||
default:
|
|
||||||
return "unknown"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (el *elog) Read(opt ...dlog.ReadOption) ([]dlog.Record, error) {
|
|
||||||
return el.dlog.Read(opt...)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (el *elog) Write(r dlog.Record) error {
|
|
||||||
return el.dlog.Write(r)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (el *elog) Stream() (dlog.Stream, error) {
|
|
||||||
return el.dlog.Stream()
|
|
||||||
}
|
|
||||||
|
|
||||||
// Log makes use of github.com/micro/debug/log
|
|
||||||
func Log(v ...interface{}) {
|
|
||||||
if len(prefix) > 0 {
|
|
||||||
v = append([]interface{}{prefix, " "}, v...)
|
|
||||||
}
|
|
||||||
nlog.DefaultLogger.Log(levelToLevel(level), v)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Logf makes use of github.com/micro/debug/log
|
|
||||||
func Logf(format string, v ...interface{}) {
|
|
||||||
if len(prefix) > 0 {
|
|
||||||
format = prefix + " " + format
|
|
||||||
}
|
|
||||||
nlog.DefaultLogger.Log(levelToLevel(level), format, v)
|
|
||||||
}
|
|
||||||
|
|
||||||
// WithLevel logs with the level specified
|
|
||||||
func WithLevel(l Level, v ...interface{}) {
|
|
||||||
if l > level {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
Log(v...)
|
|
||||||
}
|
|
||||||
|
|
||||||
// WithLevel logs with the level specified
|
|
||||||
func WithLevelf(l Level, format string, v ...interface{}) {
|
|
||||||
if l > level {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
Logf(format, v...)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Trace provides trace level logging
|
|
||||||
func Trace(v ...interface{}) {
|
|
||||||
WithLevel(LevelTrace, v...)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Tracef provides trace level logging
|
|
||||||
func Tracef(format string, v ...interface{}) {
|
|
||||||
WithLevelf(LevelTrace, format, v...)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Debug provides debug level logging
|
|
||||||
func Debug(v ...interface{}) {
|
|
||||||
WithLevel(LevelDebug, v...)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Debugf provides debug level logging
|
|
||||||
func Debugf(format string, v ...interface{}) {
|
|
||||||
WithLevelf(LevelDebug, format, v...)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Warn provides warn level logging
|
|
||||||
func Warn(v ...interface{}) {
|
|
||||||
WithLevel(LevelWarn, v...)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Warnf provides warn level logging
|
|
||||||
func Warnf(format string, v ...interface{}) {
|
|
||||||
WithLevelf(LevelWarn, format, v...)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Info provides info level logging
|
|
||||||
func Info(v ...interface{}) {
|
|
||||||
WithLevel(LevelInfo, v...)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Infof provides info level logging
|
|
||||||
func Infof(format string, v ...interface{}) {
|
|
||||||
WithLevelf(LevelInfo, format, v...)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Error provides warn level logging
|
|
||||||
func Error(v ...interface{}) {
|
|
||||||
WithLevel(LevelError, v...)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Errorf provides warn level logging
|
|
||||||
func Errorf(format string, v ...interface{}) {
|
|
||||||
WithLevelf(LevelError, format, v...)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Fatal logs with Log and then exits with os.Exit(1)
|
|
||||||
func Fatal(v ...interface{}) {
|
|
||||||
WithLevel(LevelFatal, v...)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Fatalf logs with Logf and then exits with os.Exit(1)
|
|
||||||
func Fatalf(format string, v ...interface{}) {
|
|
||||||
WithLevelf(LevelFatal, format, v...)
|
|
||||||
}
|
|
||||||
|
|
||||||
// SetLogger sets the local logger
|
|
||||||
func SetLogger(l dlog.Log) {
|
|
||||||
logger = l
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetLogger returns the local logger
|
|
||||||
func GetLogger() dlog.Log {
|
|
||||||
return logger
|
|
||||||
}
|
|
||||||
|
|
||||||
// SetLevel sets the log level
|
|
||||||
func SetLevel(l Level) {
|
|
||||||
atomic.StoreInt32((*int32)(&level), int32(l))
|
|
||||||
nlog.Init(nlog.WithLevel(levelToLevel(l)))
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetLevel returns the current level
|
|
||||||
func GetLevel() Level {
|
|
||||||
return level
|
|
||||||
}
|
|
||||||
|
|
||||||
// Set a prefix for the logger
|
|
||||||
func SetPrefix(p string) {
|
|
||||||
prefix = p
|
|
||||||
}
|
|
||||||
|
|
||||||
// Set service name
|
|
||||||
func Name(name string) {
|
|
||||||
prefix = fmt.Sprintf("[%s]", name)
|
|
||||||
}
|
|
@ -1,13 +0,0 @@
|
|||||||
package log
|
|
||||||
|
|
||||||
import (
|
|
||||||
"testing"
|
|
||||||
)
|
|
||||||
|
|
||||||
func TestDebug(t *testing.T) {
|
|
||||||
SetLevel(LevelDebug)
|
|
||||||
Debug(123)
|
|
||||||
}
|
|
||||||
func TestMain(m *testing.M) {
|
|
||||||
m.Run()
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user