From 704965b9ccada9e76fb1f561317adf83d0c82308 Mon Sep 17 00:00:00 2001 From: Henrik Hautakoski Date: Thu, 20 Oct 2022 15:09:21 +0200 Subject: [PATCH] Adding src/helpers.go --- src/helpers.go | 20 ++++++++++++++++++++ src/helpers_test.go | 29 +++++++++++++++++++++++++++++ 2 files changed, 49 insertions(+) create mode 100644 src/helpers.go create mode 100644 src/helpers_test.go diff --git a/src/helpers.go b/src/helpers.go new file mode 100644 index 0000000..6a86a1f --- /dev/null +++ b/src/helpers.go @@ -0,0 +1,20 @@ + +package main + +import ( + log "github.com/inconshreveable/log15" +) + +func parseLogFormatter(name string) log.Format { + + switch name { + case "logfmt" : + return log.LogfmtFormat() + case "json" : + return log.JsonFormat() + case "json-pretty" : + return log.JsonFormatEx(true, true) + default : + return log.TerminalFormat() + } +} diff --git a/src/helpers_test.go b/src/helpers_test.go new file mode 100644 index 0000000..760adb4 --- /dev/null +++ b/src/helpers_test.go @@ -0,0 +1,29 @@ +package main + +import ( + "reflect" + "testing" + + log "github.com/inconshreveable/log15" +) + +func Test_parseLogFormatter(t *testing.T) { + tests := []struct { + name string + arg string + want log.Format + }{ + { "Default", "", log.TerminalFormat() }, + { "LogFmt", "logfmt", log.LogfmtFormat() }, + { "Json", "json", log.JsonFormat() }, + { "JsonPretty", "json-pretty", log.JsonFormat() }, + { "Unknown", "unknown", log.TerminalFormat() }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + if got := parseLogFormatter(tt.arg); reflect.ValueOf(got).Pointer() != reflect.ValueOf(tt.want).Pointer() { + t.Errorf("parseLogFormatter() = %v, want %v", got, tt.want) + } + }) + } +}