机舱采集器——不在使用
This commit is contained in:
50
1.Software/UI/gateway-ui/log/level.go
Normal file
50
1.Software/UI/gateway-ui/log/level.go
Normal file
@@ -0,0 +1,50 @@
|
||||
package logger
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"strings"
|
||||
)
|
||||
|
||||
const (
|
||||
Error Level = iota + 1
|
||||
Warn
|
||||
Info
|
||||
Debug
|
||||
)
|
||||
|
||||
var ErrInvalidLogLevel = errors.New("unrecognized log level")
|
||||
|
||||
// 指定打印日志时的级别
|
||||
type Level int
|
||||
|
||||
var levels = map[Level]string{
|
||||
Error: "error",
|
||||
Warn: "warn",
|
||||
Info: "info",
|
||||
Debug: "debug",
|
||||
}
|
||||
|
||||
func (lvl Level) String() string {
|
||||
return levels[lvl]
|
||||
}
|
||||
|
||||
func (lvl Level) isAllowed(logLevel Level) bool {
|
||||
return lvl <= logLevel
|
||||
}
|
||||
|
||||
// 根据给入的字符串返回日志级别的int值
|
||||
func (lvl *Level) UnmarshalText(text string) error {
|
||||
switch strings.ToLower(text) {
|
||||
case "debug":
|
||||
*lvl = Debug
|
||||
case "info":
|
||||
*lvl = Info
|
||||
case "warn":
|
||||
*lvl = Warn
|
||||
case "error":
|
||||
*lvl = Error
|
||||
default:
|
||||
return ErrInvalidLogLevel
|
||||
}
|
||||
return nil
|
||||
}
|
||||
76
1.Software/UI/gateway-ui/log/logger.go
Normal file
76
1.Software/UI/gateway-ui/log/logger.go
Normal file
@@ -0,0 +1,76 @@
|
||||
package logger
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"io"
|
||||
logs "log"
|
||||
"time"
|
||||
|
||||
"github.com/go-kit/log"
|
||||
)
|
||||
|
||||
// 打印日志的API
|
||||
type Logger interface {
|
||||
Debug(string)
|
||||
|
||||
Info(string)
|
||||
|
||||
Warn(string)
|
||||
|
||||
Error(string)
|
||||
}
|
||||
|
||||
var _ Logger = (*logger)(nil)
|
||||
|
||||
type logger struct {
|
||||
kitLogger log.Logger
|
||||
level Level
|
||||
}
|
||||
|
||||
// 新建一个go-kit logger的接口封装
|
||||
func New(out io.Writer, levelText string) (Logger, error) {
|
||||
var level Level
|
||||
err := level.UnmarshalText(levelText)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf(`{"level":"error","message":"%s: %s","ts":"%s"}`, err, levelText, time.RFC3339Nano)
|
||||
}
|
||||
l := log.NewJSONLogger(log.NewSyncWriter(out))
|
||||
l = log.With(l, "ts", log.DefaultTimestampUTC)
|
||||
return &logger{l, level}, err
|
||||
}
|
||||
|
||||
func (l logger) Debug(msg string) {
|
||||
if Debug.isAllowed(l.level) {
|
||||
err := l.kitLogger.Log("level", Debug.String(), "message", msg)
|
||||
if err != nil {
|
||||
logs.Println(err)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func (l logger) Info(msg string) {
|
||||
if Info.isAllowed(l.level) {
|
||||
err := l.kitLogger.Log("level", Info.String(), "message", msg)
|
||||
if err != nil {
|
||||
logs.Println(err)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func (l logger) Warn(msg string) {
|
||||
if Warn.isAllowed(l.level) {
|
||||
err := l.kitLogger.Log("level", Warn.String(), "message", msg)
|
||||
if err != nil {
|
||||
logs.Println(err)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func (l logger) Error(msg string) {
|
||||
if Error.isAllowed(l.level) {
|
||||
err := l.kitLogger.Log("level", Error.String(), "message", msg)
|
||||
if err != nil {
|
||||
logs.Println(err)
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user