From 4f91a55f2f87e91b001320782ca0657a051eea59 Mon Sep 17 00:00:00 2001 From: andrey1s Date: Sun, 1 Nov 2020 11:36:48 +0300 Subject: [PATCH] move kv to label --- output/formatter.go | 3 ++- output/{ => label}/key.go | 2 +- output/{ => label}/kv.go | 2 +- output/{ => label}/value.go | 2 +- output/output.go | 11 ++++++----- output/quiet.go | 3 ++- output/verbosity.go | 3 ++- output/writer.go | 9 +++++---- output/writer_test.go | 15 ++++++++------- 9 files changed, 28 insertions(+), 22 deletions(-) rename output/{ => label}/key.go (98%) rename output/{ => label}/kv.go (98%) rename output/{ => label}/value.go (98%) diff --git a/output/formatter.go b/output/formatter.go index 2790753..bf3232d 100644 --- a/output/formatter.go +++ b/output/formatter.go @@ -4,11 +4,12 @@ import ( "context" "gitoa.ru/go-4devs/console/output/formatter" + "gitoa.ru/go-4devs/console/output/label" "gitoa.ru/go-4devs/console/output/verbosity" ) func Format(out Output, format *formatter.Formatter) Output { - return func(ctx context.Context, v verbosity.Verbosity, msg string, kv ...KeyValue) (int, error) { + return func(ctx context.Context, v verbosity.Verbosity, msg string, kv ...label.KeyValue) (int, error) { return out(ctx, v, format.Format(ctx, msg), kv...) } } diff --git a/output/key.go b/output/label/key.go similarity index 98% rename from output/key.go rename to output/label/key.go index 0cb77dc..5f41d34 100644 --- a/output/key.go +++ b/output/label/key.go @@ -1,4 +1,4 @@ -package output +package label type Key string diff --git a/output/kv.go b/output/label/kv.go similarity index 98% rename from output/kv.go rename to output/label/kv.go index 34c1e6c..b0fdb43 100644 --- a/output/kv.go +++ b/output/label/kv.go @@ -1,4 +1,4 @@ -package output +package label import ( "fmt" diff --git a/output/value.go b/output/label/value.go similarity index 98% rename from output/value.go rename to output/label/value.go index 4b0a8ee..945306e 100644 --- a/output/value.go +++ b/output/label/value.go @@ -1,4 +1,4 @@ -package output +package label import "fmt" diff --git a/output/output.go b/output/output.go index b42fb93..56f61ac 100644 --- a/output/output.go +++ b/output/output.go @@ -6,6 +6,7 @@ import ( "io" "os" + "gitoa.ru/go-4devs/console/output/label" "gitoa.ru/go-4devs/console/output/verbosity" ) @@ -15,13 +16,13 @@ func writeError(_ int, err error) { } } -type Output func(ctx context.Context, verb verbosity.Verbosity, msg string, args ...KeyValue) (int, error) +type Output func(ctx context.Context, verb verbosity.Verbosity, msg string, args ...label.KeyValue) (int, error) func (o Output) Print(ctx context.Context, args ...interface{}) { writeError(o(ctx, verbosity.Norm, fmt.Sprint(args...))) } -func (o Output) PrintKV(ctx context.Context, msg string, kv ...KeyValue) { +func (o Output) PrintKV(ctx context.Context, msg string, kv ...label.KeyValue) { writeError(o(ctx, verbosity.Norm, msg, kv...)) } @@ -37,7 +38,7 @@ func (o Output) Info(ctx context.Context, args ...interface{}) { writeError(o(ctx, verbosity.Info, fmt.Sprint(args...))) } -func (o Output) InfoKV(ctx context.Context, msg string, kv ...KeyValue) { +func (o Output) InfoKV(ctx context.Context, msg string, kv ...label.KeyValue) { writeError(o(ctx, verbosity.Info, msg, kv...)) } @@ -45,7 +46,7 @@ func (o Output) Debug(ctx context.Context, args ...interface{}) { writeError(o(ctx, verbosity.Debug, fmt.Sprint(args...))) } -func (o Output) DebugKV(ctx context.Context, msg string, kv ...KeyValue) { +func (o Output) DebugKV(ctx context.Context, msg string, kv ...label.KeyValue) { writeError(o(ctx, verbosity.Debug, msg, kv...)) } @@ -53,7 +54,7 @@ func (o Output) Trace(ctx context.Context, args ...interface{}) { writeError(o(ctx, verbosity.Trace, fmt.Sprint(args...))) } -func (o Output) TraceKV(ctx context.Context, msg string, kv ...KeyValue) { +func (o Output) TraceKV(ctx context.Context, msg string, kv ...label.KeyValue) { writeError(o(ctx, verbosity.Trace, msg, kv...)) } diff --git a/output/quiet.go b/output/quiet.go index 8b86908..dedae9e 100644 --- a/output/quiet.go +++ b/output/quiet.go @@ -3,11 +3,12 @@ package output import ( "context" + "gitoa.ru/go-4devs/console/output/label" "gitoa.ru/go-4devs/console/output/verbosity" ) func Quiet() Output { - return func(context.Context, verbosity.Verbosity, string, ...KeyValue) (int, error) { + return func(context.Context, verbosity.Verbosity, string, ...label.KeyValue) (int, error) { return 0, nil } } diff --git a/output/verbosity.go b/output/verbosity.go index 4bf38d5..baed9e4 100644 --- a/output/verbosity.go +++ b/output/verbosity.go @@ -3,11 +3,12 @@ package output import ( "context" + "gitoa.ru/go-4devs/console/output/label" "gitoa.ru/go-4devs/console/output/verbosity" ) func Verbosity(out Output, verb verbosity.Verbosity) Output { - return func(ctx context.Context, v verbosity.Verbosity, msg string, kv ...KeyValue) (int, error) { + return func(ctx context.Context, v verbosity.Verbosity, msg string, kv ...label.KeyValue) (int, error) { if verb >= v { return out(ctx, v, msg, kv...) } diff --git a/output/writer.go b/output/writer.go index 307eb08..f7b3589 100644 --- a/output/writer.go +++ b/output/writer.go @@ -8,6 +8,7 @@ import ( "os" "strings" + "gitoa.ru/go-4devs/console/output/label" "gitoa.ru/go-4devs/console/output/verbosity" ) @@ -25,21 +26,21 @@ func Buffer(buf *bytes.Buffer) Output { return New(buf, FormatString) } -func FormatString(_ verbosity.Verbosity, msg string, kv ...KeyValue) string { +func FormatString(_ verbosity.Verbosity, msg string, kv ...label.KeyValue) string { if len(kv) > 0 { nline := "" if msg[len(msg)-1:] == newline { nline = newline } - return "msg=\"" + strings.TrimSpace(msg) + "\", " + KeyValues(kv).String() + nline + return "msg=\"" + strings.TrimSpace(msg) + "\", " + label.KeyValues(kv).String() + nline } return msg } -func New(w io.Writer, format func(verb verbosity.Verbosity, msg string, kv ...KeyValue) string) Output { - return func(ctx context.Context, verb verbosity.Verbosity, msg string, kv ...KeyValue) (int, error) { +func New(w io.Writer, format func(verb verbosity.Verbosity, msg string, kv ...label.KeyValue) string) Output { + return func(ctx context.Context, verb verbosity.Verbosity, msg string, kv ...label.KeyValue) (int, error) { return fmt.Fprint(w, format(verb, msg, kv...)) } } diff --git a/output/writer_test.go b/output/writer_test.go index d8598f7..931c394 100644 --- a/output/writer_test.go +++ b/output/writer_test.go @@ -6,6 +6,7 @@ import ( "testing" "gitoa.ru/go-4devs/console/output" + "gitoa.ru/go-4devs/console/output/label" ) func TestNew(t *testing.T) { @@ -15,23 +16,23 @@ func TestNew(t *testing.T) { cases := map[string]struct { ex string - kv []output.KeyValue + kv []label.KeyValue }{ "message": { ex: "message", }, "msg with kv": { ex: "msg=\"msg with kv\", string key=\"string value\", bool key=\"false\", int key=\"42\"", - kv: []output.KeyValue{ - output.String("string key", "string value"), - output.Bool("bool key", false), - output.Int("int key", 42), + kv: []label.KeyValue{ + label.String("string key", "string value"), + label.Bool("bool key", false), + label.Int("int key", 42), }, }, "msg with newline \n": { ex: "msg=\"msg with newline\", int=\"42\"\n", - kv: []output.KeyValue{ - output.Int("int", 42), + kv: []label.KeyValue{ + label.Int("int", 42), }, }, }