rabbitmq log datetime support

This commit is contained in:
liushaobo 2021-03-10 11:07:49 +08:00
parent ab345927d5
commit 2cbb9d374c
2 changed files with 32 additions and 0 deletions

View File

@ -491,6 +491,35 @@ iterRunes:
}
p.stateTime = timeStart
break iterRunes
case ':':
p.link++
if p.link == 2 {
// we need to find if this was 4 digits, aka year
// or 2 digits which makes it ambiguous year/day
length := i - (p.moi + p.molen + 2)
if length == 4 {
p.yearlen = 4
p.set(p.yeari, "2006")
// We now also know that part1 was the day
p.dayi = 0
p.daylen = p.part1Len
p.setDay()
} else if length == 2 {
// We have no idea if this is
// yy-mon-dd OR dd-mon-yy
//
// We are going to ASSUME (bad, bad) that it is dd-mon-yy which is a horible assumption
p.ambiguousMD = true
p.yearlen = 2
p.set(p.yeari, "06")
// We now also know that part1 was the day
p.dayi = 0
p.daylen = p.part1Len
p.setDay()
}
p.stateTime = timeStart
break iterRunes
}
}
case dateDigitSlash:
@ -1839,6 +1868,7 @@ type parser struct {
datestr string
fullMonth string
skip int
link int
extra int
part1Len int
yeari int

View File

@ -532,6 +532,8 @@ var testParseFormat = []dateTest{
{in: "2009-08-12T22:15:09-0700", out: "2006-01-02T15:04:05-0700"},
// yyyy-mm-ddThh:mm:ssZ
{in: "2009-08-12T22:15Z", out: "2006-01-02T15:04Z"},
{in: "8-Mar-2018::14:09:27", out: "2-Jan-2006::15:04:05"},
}
func TestParseLayout(t *testing.T) {