@@ -4,15 +4,16 @@ import (
44 "errors"
55 "fmt"
66 "strconv"
7+ "strings"
78 "testing"
89 "time"
910
1011 "github.com/stretchr/testify/assert"
1112
12- "github.com/qiniu/logkit/utils/parse/syslog"
1313 "github.com/qiniu/logkit/conf"
1414 . "github.com/qiniu/logkit/parser/config"
1515 . "github.com/qiniu/logkit/utils/models"
16+ "github.com/qiniu/logkit/utils/parse/syslog"
1617)
1718
1819// 为了保证datasource不错乱,暂不支持多行采集,需要将socket采集中的获取方式改成按原始包读取
@@ -211,7 +212,6 @@ func TestSyslogParser_ParseYear(t *testing.T) {
211212
212213 c = conf.MapConf {}
213214 c [KeyParserType ] = "syslog"
214- c [KeyTimeZoneOffset ] = "-8"
215215 c [KeyRFC3164ParseYear ] = "true"
216216 p , err = NewParser (c )
217217 assert .Nil (t , err )
@@ -246,3 +246,44 @@ func TestSyslogParser_Detail(t *testing.T) {
246246 assert .Equal (t , syslog .MessageFacilities [4 ], dts [0 ][Facility ])
247247 assert .Equal (t , syslog .MessageSeverities [2 ], dts [0 ][Severity ])
248248}
249+
250+ func TestSyslogParser3164_Month (t * testing.T ) {
251+ c := conf.MapConf {}
252+ c [KeyParserType ] = "syslog"
253+ c [KeyRFC3164ParseYear ] = "true"
254+ p , err := NewParser (c )
255+ assert .Nil (t , err )
256+ lines := []string {
257+ `<34>JAN 1 22:14:15 2019` ,
258+ `<34>jan 01 22:14:15 2019` ,
259+ `<34>FEB 2 22:14:15 2019` ,
260+ `<34>feb 02 22:14:15 2019` ,
261+ `<34>MAR 3 22:14:15 2019` ,
262+ `<34>mar 03 22:14:15 2019` ,
263+ `<34>APR 4 22:14:15 2019` ,
264+ `<34>apr 04 22:14:15 2019` ,
265+ `<34>MAY 5 22:14:15 2019` ,
266+ `<34>may 05 22:14:15 2019` ,
267+ `<34>JUN 6 22:14:15 2019` ,
268+ `<34>jun 06 22:14:15 2019` ,
269+ `<34>JUL 7 22:14:15 2019` ,
270+ `<34>jul 07 22:14:15 2019` ,
271+ `<34>AUG 8 22:14:15 2019` ,
272+ `<34>aug 08 22:14:15 2019` ,
273+ `<34>SEP 9 22:14:15 2019` ,
274+ `<34>sep 09 22:14:15 2019` ,
275+ `<34>OCT 10 22:14:15 2019` ,
276+ `<34>oct 11 22:14:15 2019` ,
277+ `<34>NOV 21 22:14:15 2019` ,
278+ `<34>nov 25 22:14:15 2019` ,
279+ `<34>DEC 31 22:14:15 2019` ,
280+ `<34>dec 31 22:14:15 2019` ,
281+ }
282+ datas , err := p .Parse (lines )
283+ assert .Nil (t , err )
284+ for i , data := range datas {
285+ expected , err := time .Parse ("Jan _2 15:04:05 2006" , strings .TrimPrefix (lines [i ], "<34>" ))
286+ assert .Nil (t , err )
287+ assert .Equal (t , expected .Format ("2006-01-02 15:04:05 +0000 UTC" ), data ["timestamp" ].(time.Time ).String ())
288+ }
289+ }
0 commit comments