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/default.go | |
| parent | 9d1ce0304e5213e66a0d916a2a44eb60b73c7197 (diff) | |
Refactor logformats so that they don't use reflection anymore.
Diffstat (limited to 'internal/mapr/logformat/default.go')
| -rw-r--r-- | internal/mapr/logformat/default.go | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/internal/mapr/logformat/default.go b/internal/mapr/logformat/default.go index a44b49a..a499bc5 100644 --- a/internal/mapr/logformat/default.go +++ b/internal/mapr/logformat/default.go @@ -7,8 +7,21 @@ import ( "github.com/mimecast/dtail/internal/protocol" ) -// MakeFieldsDEFAULT is the default DTail log file key-value parser. -func (p *Parser) MakeFieldsDEFAULT(maprLine string) (map[string]string, error) { +type defaultParser struct { + hostname string + timeZoneName string + timeZoneOffset string +} + +func newDefaultParser(hostname, timeZoneName string, timeZoneOffset int) (*defaultParser, error) { + return &defaultParser{ + hostname: hostname, + timeZoneName: timeZoneName, + timeZoneOffset: fmt.Sprintf("%d", timeZoneOffset), + }, nil +} + +func (p *defaultParser) MakeFields(maprLine string) (map[string]string, error) { splitted := strings.Split(maprLine, protocol.FieldDelimiter) if len(splitted) < 11 || !strings.HasPrefix(splitted[9], "MAPREDUCE:") || |
