Use new sink instances to allow multiple of same sink type

This commit is contained in:
Thomas Roehl
2022-02-22 16:15:25 +01:00
parent 9cfbe10247
commit 18a226183c
9 changed files with 65 additions and 26 deletions

View File

@@ -57,8 +57,8 @@ func (s *InfluxSink) connect() error {
return nil
}
func (s *InfluxSink) Init(config json.RawMessage) error {
s.name = "InfluxSink"
func (s *InfluxSink) Init(name string, config json.RawMessage) error {
s.name = fmt.Sprintf("InfluxSink(%s)", name)
if len(config) > 0 {
err := json.Unmarshal(config, &s.config)
if err != nil {
@@ -94,3 +94,9 @@ func (s *InfluxSink) Close() {
cclog.ComponentDebug(s.name, "Closing InfluxDB connection")
s.client.Close()
}
func NewInfluxSink(name string, config json.RawMessage) (Sink, error) {
s := new(InfluxSink)
s.Init(name, config)
return s, nil
}