try to fix
This commit is contained in:
parent
68c749bc9c
commit
6b27b311df
3 changed files with 8 additions and 5 deletions
|
@ -19,6 +19,7 @@ type EnricherCtx struct {
|
||||||
Name string
|
Name string
|
||||||
Path string //path to .so ?
|
Path string //path to .so ?
|
||||||
RuntimeCtx interface{} //the internal context of plugin, given back over every call
|
RuntimeCtx interface{} //the internal context of plugin, given back over every call
|
||||||
|
initiated bool
|
||||||
}
|
}
|
||||||
|
|
||||||
/* mimic plugin loading */
|
/* mimic plugin loading */
|
||||||
|
@ -40,8 +41,10 @@ func Loadplugin(path string) (EnricherCtx, error) {
|
||||||
|
|
||||||
c.RuntimeCtx, err = c.Init(map[string]string{"datadir": path})
|
c.RuntimeCtx, err = c.Init(map[string]string{"datadir": path})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatalf("load (fake) plugin load : %v", err)
|
log.Warningf("load (fake) plugin load : %v", err)
|
||||||
|
c.initiated = false
|
||||||
}
|
}
|
||||||
|
c.initiated = true
|
||||||
return c, nil
|
return c, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -88,13 +88,13 @@ func (n *Node) validate(pctx *UnixParserCtx) error {
|
||||||
}
|
}
|
||||||
method_found := false
|
method_found := false
|
||||||
for _, enricherCtx := range ECTX {
|
for _, enricherCtx := range ECTX {
|
||||||
if _, ok := enricherCtx.Funcs[static.Method]; ok {
|
if _, ok := enricherCtx.Funcs[static.Method]; ok && enricherCtx.initiated {
|
||||||
method_found = true
|
method_found = true
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if !method_found {
|
if !method_found {
|
||||||
return fmt.Errorf("the method '%s' doesn't exist", static.Method)
|
return fmt.Errorf("the method '%s' doesn't exist or the plugin has not been initialized", static.Method)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if static.Meta == "" && static.Parsed == "" && static.TargetByName == "" {
|
if static.Meta == "" && static.Parsed == "" && static.TargetByName == "" {
|
||||||
|
|
|
@ -148,7 +148,7 @@ func ProcessStatics(statics []types.ExtraField, p *types.Event, clog *logrus.Ent
|
||||||
processed := false
|
processed := false
|
||||||
/*still way too hackish, but : inject all the results in enriched, and */
|
/*still way too hackish, but : inject all the results in enriched, and */
|
||||||
for _, x := range ECTX {
|
for _, x := range ECTX {
|
||||||
if fptr, ok := x.Funcs[static.Method]; ok {
|
if fptr, ok := x.Funcs[static.Method]; ok && x.initiated {
|
||||||
clog.Tracef("Found method '%s'", static.Method)
|
clog.Tracef("Found method '%s'", static.Method)
|
||||||
ret, err := fptr(value, p, x.RuntimeCtx)
|
ret, err := fptr(value, p, x.RuntimeCtx)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -165,7 +165,7 @@ func ProcessStatics(statics []types.ExtraField, p *types.Event, clog *logrus.Ent
|
||||||
}
|
}
|
||||||
break
|
break
|
||||||
} else {
|
} else {
|
||||||
clog.Warningf("method '%s' doesn't exist", static.Method)
|
clog.Warningf("method '%s' doesn't exist or plugin not initialized", static.Method)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if !processed {
|
if !processed {
|
||||||
|
|
Loading…
Add table
Reference in a new issue