From f182bba6ff1e054d49efa212e9aafd6f7f16ba13 Mon Sep 17 00:00:00 2001 From: Vasiliy Tolstov Date: Sat, 13 Feb 2021 20:01:57 +0300 Subject: [PATCH] debug/log: remove stale files Signed-off-by: Vasiliy Tolstov --- debug/log/log.go | 58 ---------------- debug/log/memory/memory.go | 115 -------------------------------- debug/log/memory/memory_test.go | 32 --------- debug/log/memory/stream.go | 24 ------- debug/log/noop/noop.go | 23 ------- debug/log/options.go | 70 ------------------- 6 files changed, 322 deletions(-) delete mode 100644 debug/log/log.go delete mode 100644 debug/log/memory/memory.go delete mode 100644 debug/log/memory/memory_test.go delete mode 100644 debug/log/memory/stream.go delete mode 100644 debug/log/noop/noop.go delete mode 100644 debug/log/options.go diff --git a/debug/log/log.go b/debug/log/log.go deleted file mode 100644 index 4bff048d..00000000 --- a/debug/log/log.go +++ /dev/null @@ -1,58 +0,0 @@ -// Package log provides debug logging -package log - -import ( - "encoding/json" - "fmt" - "time" - - "github.com/unistack-org/micro/v3/metadata" -) - -var ( - // Default buffer size if any - DefaultSize = 256 - // Default formatter - DefaultFormat = TextFormat -) - -// Log is debug log interface for reading and writing logs -type Log interface { - // Read reads log entries from the logger - Read(...ReadOption) ([]Record, error) - // Write writes records to log - Write(Record) error - // Stream log records - Stream() (Stream, error) -} - -// Record is log record entry -type Record struct { - // Timestamp of logged event - Timestamp time.Time `json:"timestamp"` - // Metadata to enrich log record - Metadata metadata.Metadata `json:"metadata"` - // Value contains log entry - Message interface{} `json:"message"` -} - -// Stream returns a log stream -type Stream interface { - Chan() <-chan Record - Stop() error -} - -// Format is a function which formats the output -type FormatFunc func(Record) string - -// TextFormat returns text format -func TextFormat(r Record) string { - t := r.Timestamp.Format("2006-01-02 15:04:05") - return fmt.Sprintf("%s %v", t, r.Message) -} - -// JSONFormat is a json Format func -func JSONFormat(r Record) string { - b, _ := json.Marshal(r) - return string(b) -} diff --git a/debug/log/memory/memory.go b/debug/log/memory/memory.go deleted file mode 100644 index 95a1401f..00000000 --- a/debug/log/memory/memory.go +++ /dev/null @@ -1,115 +0,0 @@ -// Package memory provides an in memory log buffer -package memory - -import ( - "fmt" - - "github.com/unistack-org/micro/v3/debug/log" - "github.com/unistack-org/micro/v3/metadata" - "github.com/unistack-org/micro/v3/util/ring" -) - -// memoryLog is default micro log -type memoryLog struct { - *ring.Buffer -} - -// NewLog returns default Logger with -func NewLog(opts ...log.Option) log.Log { - // get default options - options := log.DefaultOptions() - - // apply requested options - for _, o := range opts { - o(&options) - } - - return &memoryLog{ - Buffer: ring.New(options.Size), - } -} - -// Write writes logs into logger -func (l *memoryLog) Write(r log.Record) error { - l.Buffer.Put(fmt.Sprint(r.Message)) - return nil -} - -// Read reads logs and returns them -func (l *memoryLog) Read(opts ...log.ReadOption) ([]log.Record, error) { - options := log.ReadOptions{} - // initialize the read options - for _, o := range opts { - o(&options) - } - - var entries []*ring.Entry - // if Since options ha sbeen specified we honor it - if !options.Since.IsZero() { - entries = l.Buffer.Since(options.Since) - } - - // only if we specified valid count constraint - // do we end up doing some serious if-else kung-fu - // if since constraint has been provided - // we return *count* number of logs since the given timestamp; - // otherwise we return last count number of logs - if options.Count > 0 { - switch len(entries) > 0 { - case true: - // if we request fewer logs than what since constraint gives us - if options.Count < len(entries) { - entries = entries[0:options.Count] - } - default: - entries = l.Buffer.Get(options.Count) - } - } - - records := make([]log.Record, 0, len(entries)) - for _, entry := range entries { - record := log.Record{ - Timestamp: entry.Timestamp, - Message: entry.Value, - } - records = append(records, record) - } - - return records, nil -} - -// Stream returns channel for reading log records -// along with a stop channel, close it when done -func (l *memoryLog) Stream() (log.Stream, error) { - // get stream channel from ring buffer - stream, stop := l.Buffer.Stream() - // make a buffered channel - records := make(chan log.Record, 128) - // get last 10 records - last10 := l.Buffer.Get(10) - - // stream the log records - go func() { - // first send last 10 records - for _, entry := range last10 { - records <- log.Record{ - Timestamp: entry.Timestamp, - Message: entry.Value, - Metadata: metadata.New(0), - } - } - // now stream continuously - for entry := range stream { - records <- log.Record{ - Timestamp: entry.Timestamp, - Message: entry.Value, - Metadata: metadata.New(0), - } - } - }() - - return &logStream{ - stream: records, - stop: stop, - }, nil -} diff --git a/debug/log/memory/memory_test.go b/debug/log/memory/memory_test.go deleted file mode 100644 index 59b010cc..00000000 --- a/debug/log/memory/memory_test.go +++ /dev/null @@ -1,32 +0,0 @@ -package memory - -import ( - "reflect" - "testing" - - "github.com/unistack-org/micro/v3/debug/log" -) - -func TestLogger(t *testing.T) { - // set size to some value - size := 100 - // override the global logger - lg := NewLog(log.Size(size)) - // make sure we have the right size of the logger ring buffer - if lg.(*memoryLog).Size() != size { - t.Errorf("expected buffer size: %d, got: %d", size, lg.(*memoryLog).Size()) - } - - // Log some cruft - lg.Write(log.Record{Message: "foobar"}) - lg.Write(log.Record{Message: "foo bar"}) - - // Check if the logs are stored in the logger ring buffer - expected := []string{"foobar", "foo bar"} - entries, _ := lg.Read(log.Count(len(expected))) - for i, entry := range entries { - if !reflect.DeepEqual(entry.Message, expected[i]) { - t.Errorf("expected %s, got %s", expected[i], entry.Message) - } - } -} diff --git a/debug/log/memory/stream.go b/debug/log/memory/stream.go deleted file mode 100644 index 867c8a73..00000000 --- a/debug/log/memory/stream.go +++ /dev/null @@ -1,24 +0,0 @@ -package memory - -import ( - "github.com/unistack-org/micro/v3/debug/log" -) - -type logStream struct { - stream <-chan log.Record - stop chan bool -} - -func (l *logStream) Chan() <-chan log.Record { - return l.stream -} - -func (l *logStream) Stop() error { - select { - case <-l.stop: - return nil - default: - close(l.stop) - } - return nil -} diff --git a/debug/log/noop/noop.go b/debug/log/noop/noop.go deleted file mode 100644 index 22801a87..00000000 --- a/debug/log/noop/noop.go +++ /dev/null @@ -1,23 +0,0 @@ -package noop - -import ( - "github.com/unistack-org/micro/v3/debug/log" -) - -type noop struct{} - -func (n *noop) Read(...log.ReadOption) ([]log.Record, error) { - return nil, nil -} - -func (n *noop) Write(log.Record) error { - return nil -} - -func (n *noop) Stream() (log.Stream, error) { - return nil, nil -} - -func NewLog(opts ...log.Option) log.Log { - return new(noop) -} diff --git a/debug/log/options.go b/debug/log/options.go deleted file mode 100644 index 63281857..00000000 --- a/debug/log/options.go +++ /dev/null @@ -1,70 +0,0 @@ -package log - -import "time" - -// Option used by the logger -type Option func(*Options) - -// Options are logger options -type Options struct { - // Name of the log - Name string - // Size is the size of ring buffer - Size int - // Format specifies the output format - Format FormatFunc -} - -// Name of the log -func Name(n string) Option { - return func(o *Options) { - o.Name = n - } -} - -// Size sets the size of the ring buffer -func Size(s int) Option { - return func(o *Options) { - o.Size = s - } -} - -func Format(f FormatFunc) Option { - return func(o *Options) { - o.Format = f - } -} - -// DefaultOptions returns default options -func DefaultOptions() Options { - return Options{ - Size: DefaultSize, - } -} - -// ReadOptions for querying the logs -type ReadOptions struct { - // Since what time in past to return the logs - Since time.Time - // Count specifies number of logs to return - Count int - // Stream requests continuous log stream - Stream bool -} - -// ReadOption used for reading the logs -type ReadOption func(*ReadOptions) - -// Since sets the time since which to return the log records -func Since(s time.Time) ReadOption { - return func(o *ReadOptions) { - o.Since = s - } -} - -// Count sets the number of log records to return -func Count(c int) ReadOption { - return func(o *ReadOptions) { - o.Count = c - } -}