From e9efcbe8dc8ba671ed3be81ec14e0815ca777431 Mon Sep 17 00:00:00 2001 From: Asim Aslam Date: Tue, 17 Dec 2019 18:34:21 +0000 Subject: [PATCH] strip logger --- debug/log/kubernetes/kubernetes.go | 5 +- debug/log/kubernetes/{log.go => stream.go} | 14 ++- debug/log/level.go | 35 ------ debug/log/log.go | 11 +- debug/log/logger.go | 120 --------------------- 5 files changed, 18 insertions(+), 167 deletions(-) rename debug/log/kubernetes/{log.go => stream.go} (75%) delete mode 100644 debug/log/level.go delete mode 100644 debug/log/logger.go diff --git a/debug/log/kubernetes/kubernetes.go b/debug/log/kubernetes/kubernetes.go index 56770a6e..06ecf790 100644 --- a/debug/log/kubernetes/kubernetes.go +++ b/debug/log/kubernetes/kubernetes.go @@ -18,7 +18,10 @@ func (k *klog) Write(l log.Record) error { } func (k *klog) Stream() (log.Stream, error) { - return &klogStreamer{}, nil + return &klogStreamer{ + streamChan: make(chan log.Record), + stop: make(chan bool), + }, nil } // New returns a configured Kubernetes logger diff --git a/debug/log/kubernetes/log.go b/debug/log/kubernetes/stream.go similarity index 75% rename from debug/log/kubernetes/log.go rename to debug/log/kubernetes/stream.go index ad5740ea..b62434a0 100644 --- a/debug/log/kubernetes/log.go +++ b/debug/log/kubernetes/stream.go @@ -18,17 +18,23 @@ func write(l log.Record) error { } type klogStreamer struct { + // the k8s log stream streamChan chan log.Record + // the stop chan + stop chan bool } func (k *klogStreamer) Chan() <-chan log.Record { - if k.streamChan == nil { - k.streamChan = make(chan log.Record) - } return k.streamChan } func (k *klogStreamer) Stop() error { - close(k.streamChan) + select { + case <-k.stop: + return nil + default: + close(k.stop) + close(k.streamChan) + } return nil } diff --git a/debug/log/level.go b/debug/log/level.go deleted file mode 100644 index 2f8b425c..00000000 --- a/debug/log/level.go +++ /dev/null @@ -1,35 +0,0 @@ -// Package log provides debug logging -package log - -import ( - "os" -) - -// level is a log level -type Level int - -const ( - LevelFatal Level = iota - LevelError - LevelInfo - LevelWarn - LevelDebug - LevelTrace -) - -func init() { - switch os.Getenv("MICRO_LOG_LEVEL") { - case "trace": - DefaultLevel = LevelTrace - case "debug": - DefaultLevel = LevelDebug - case "warn": - DefaultLevel = LevelWarn - case "info": - DefaultLevel = LevelInfo - case "error": - DefaultLevel = LevelError - case "fatal": - DefaultLevel = LevelFatal - } -} diff --git a/debug/log/log.go b/debug/log/log.go index b5801bac..a9689da6 100644 --- a/debug/log/log.go +++ b/debug/log/log.go @@ -6,17 +6,13 @@ import ( ) var ( - // DefaultLog logger - DefaultLog = NewLog() - // DefaultLevel is default log level - DefaultLevel = LevelInfo // Default buffer size if any DefaultSize = 1024 - // prefix for all messages - prefix string + // DefaultLog logger + DefaultLog = NewLog() ) -// Log is event log +// Log is debug log interface for reading and writing logs type Log interface { // Read reads log entries from the logger Read(...ReadOption) ([]Record, error) @@ -36,6 +32,7 @@ type Record struct { Metadata map[string]string `json:"metadata"` } +// Stream returns a log stream type Stream interface { Chan() <-chan Record Stop() error diff --git a/debug/log/logger.go b/debug/log/logger.go deleted file mode 100644 index 912defc2..00000000 --- a/debug/log/logger.go +++ /dev/null @@ -1,120 +0,0 @@ -// Package log provides debug logging -package log - -import ( - "fmt" - "os" -) - -func log(v ...interface{}) { - if len(prefix) > 0 { - DefaultLog.Write(Record{Value: fmt.Sprint(append([]interface{}{prefix, " "}, v...)...)}) - return - } - DefaultLog.Write(Record{Value: fmt.Sprint(v...)}) -} - -func logf(format string, v ...interface{}) { - if len(prefix) > 0 { - format = prefix + " " + format - } - DefaultLog.Write(Record{Value: fmt.Sprintf(format, v...)}) -} - -// WithLevel logs with the level specified -func WithLevel(l Level, v ...interface{}) { - if l > DefaultLevel { - return - } - log(v...) -} - -// WithLevel logs with the level specified -func WithLevelf(l Level, format string, v ...interface{}) { - if l > DefaultLevel { - 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...) - os.Exit(1) -} - -// Fatalf logs with Logf and then exits with os.Exit(1) -func Fatalf(format string, v ...interface{}) { - WithLevelf(LevelFatal, format, v...) - os.Exit(1) -} - -// SetLevel sets the log level -func SetLevel(l Level) { - DefaultLevel = l -} - -// GetLevel returns the current level -func GetLevel() Level { - return DefaultLevel -} - -// Set a prefix for the logger -func SetPrefix(p string) { - prefix = p -} - -// Set service name -func SetName(name string) { - prefix = fmt.Sprintf("[%s]", name) -}