From a662d8acde03b17f42f3bf73ed94d991f96cb18f Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Wed, 20 May 2020 17:56:04 +0100 Subject: add $timezone and $timeoffset keys --- internal/mapr/logformat/default.go | 2 ++ internal/mapr/logformat/generic.go | 2 ++ internal/mapr/logformat/parser.go | 10 +++++++++- internal/version/version.go | 2 +- 4 files changed, 14 insertions(+), 2 deletions(-) diff --git a/internal/mapr/logformat/default.go b/internal/mapr/logformat/default.go index 3178dda..0dfdde0 100644 --- a/internal/mapr/logformat/default.go +++ b/internal/mapr/logformat/default.go @@ -14,6 +14,8 @@ func (p *Parser) MakeFieldsDEFAULT(maprLine string) (map[string]string, error) { fields["$line"] = maprLine fields["$empty"] = "" fields["$hostname"] = p.hostname + fields["$timezone"] = p.timeZoneName + fields["$timeoffset"] = p.timeZoneOffset for _, kv := range splitted { keyAndValue := strings.SplitN(kv, "=", 2) diff --git a/internal/mapr/logformat/generic.go b/internal/mapr/logformat/generic.go index 9c12556..3614c93 100644 --- a/internal/mapr/logformat/generic.go +++ b/internal/mapr/logformat/generic.go @@ -8,6 +8,8 @@ func (p *Parser) MakeFieldsGENERIC(maprLine string) (map[string]string, error) { fields["$hostname"] = p.hostname fields["$line"] = maprLine fields["$empty"] = "" + fields["$timezone"] = p.timeZoneName + fields["$timeoffset"] = p.timeZoneOffset return fields, nil } diff --git a/internal/mapr/logformat/parser.go b/internal/mapr/logformat/parser.go index 4671191..cc9c268 100644 --- a/internal/mapr/logformat/parser.go +++ b/internal/mapr/logformat/parser.go @@ -6,6 +6,7 @@ import ( "os" "reflect" "strings" + "time" "github.com/mimecast/dtail/internal/io/logger" ) @@ -16,6 +17,8 @@ type Parser struct { logFormatName string makeFieldsFunc reflect.Value makeFieldsReceiver reflect.Value + timeZoneName string + timeZoneOffset string } // NewParser returns a new log parser. @@ -26,8 +29,13 @@ func NewParser(logFormatName string) (*Parser, error) { return nil, err } + now := time.Now() + zone, offset := now.Zone() + p := Parser{ - hostname: hostname, + hostname: hostname, + timeZoneName: zone, + timeZoneOffset: fmt.Sprintf("%d", offset), } err = p.reflectLogFormat(logFormatName) diff --git a/internal/version/version.go b/internal/version/version.go index bb5d333..f7dcb65 100644 --- a/internal/version/version.go +++ b/internal/version/version.go @@ -11,7 +11,7 @@ const ( // Name of DTail. Name string = "DTail" // Version of DTail. - Version string = "2.3.0" + Version string = "2.4.0" // Additional information for DTail Additional string = "" // ProtocolCompat -ibility version. -- cgit v1.2.3