fix: Fix panic in parsers due to missing Log for all plugins using SetParserFunc. (#10288)
This commit is contained in:
parent
68233c5934
commit
d1d81b71ac
|
|
@ -1190,7 +1190,18 @@ func (c *Config) addInput(name string, table *ast.Table) error {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
t.SetParserFunc(func() (parsers.Parser, error) {
|
t.SetParserFunc(func() (parsers.Parser, error) {
|
||||||
return parsers.NewParser(config)
|
parser, err := parsers.NewParser(config)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
logger := models.NewLogger("parsers", config.DataFormat, name)
|
||||||
|
models.SetLoggerOnPlugin(parser, logger)
|
||||||
|
if initializer, ok := parser.(telegraf.Initializer); ok {
|
||||||
|
if err := initializer.Init(); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return parser, nil
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue