diff options
| author | Paul Buetow <paul@buetow.org> | 2023-09-05 13:57:37 +0300 |
|---|---|---|
| committer | Paul Buetow <pbuetow@mimecast.com> | 2023-09-07 15:32:15 +0300 |
| commit | 63fa5de929f7c0cbd68db9bc0761e912c97c253b (patch) | |
| tree | 3015dbdf046347163e2b28b27125f4d68711201e /internal/mapr/logformat/generickv.go | |
| parent | 9d1ce0304e5213e66a0d916a2a44eb60b73c7197 (diff) | |
Refactor logformats so that they don't use reflection anymore.
Diffstat (limited to 'internal/mapr/logformat/generickv.go')
| -rw-r--r-- | internal/mapr/logformat/generickv.go | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/internal/mapr/logformat/generickv.go b/internal/mapr/logformat/generickv.go index 3452e97..9c3de92 100644 --- a/internal/mapr/logformat/generickv.go +++ b/internal/mapr/logformat/generickv.go @@ -6,8 +6,19 @@ import ( "github.com/mimecast/dtail/internal/protocol" ) -// MakeFieldsGENERIGKV is the generic key-value logfile parser. -func (p *Parser) MakeFieldsGENERIGKV(maprLine string) (map[string]string, error) { +type genericKVParser struct { + defaultParser +} + +func newGenericKVParser(hostname, timeZoneName string, timeZoneOffset int) (*genericKVParser, error) { + defaultParser, err := newDefaultParser(hostname, timeZoneName, timeZoneOffset) + if err != nil { + return &genericKVParser{}, err + } + return &genericKVParser{defaultParser: *defaultParser}, nil +} + +func (p *genericKVParser) MakeFields(maprLine string) (map[string]string, error) { splitted := strings.Split(maprLine, protocol.FieldDelimiter) fields := make(map[string]string, len(splitted)) |
