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
|
||||
Path string //path to .so ?
|
||||
RuntimeCtx interface{} //the internal context of plugin, given back over every call
|
||||
initiated bool
|
||||
}
|
||||
|
||||
/* mimic plugin loading */
|
||||
|
@ -40,8 +41,10 @@ func Loadplugin(path string) (EnricherCtx, error) {
|
|||
|
||||
c.RuntimeCtx, err = c.Init(map[string]string{"datadir": path})
|
||||
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
|
||||
}
|
||||
|
||||
|
|
|
@ -88,13 +88,13 @@ func (n *Node) validate(pctx *UnixParserCtx) error {
|
|||
}
|
||||
method_found := false
|
||||
for _, enricherCtx := range ECTX {
|
||||
if _, ok := enricherCtx.Funcs[static.Method]; ok {
|
||||
if _, ok := enricherCtx.Funcs[static.Method]; ok && enricherCtx.initiated {
|
||||
method_found = true
|
||||
break
|
||||
}
|
||||
}
|
||||
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 {
|
||||
if static.Meta == "" && static.Parsed == "" && static.TargetByName == "" {
|
||||
|
|
|
@ -148,7 +148,7 @@ func ProcessStatics(statics []types.ExtraField, p *types.Event, clog *logrus.Ent
|
|||
processed := false
|
||||
/*still way too hackish, but : inject all the results in enriched, and */
|
||||
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)
|
||||
ret, err := fptr(value, p, x.RuntimeCtx)
|
||||
if err != nil {
|
||||
|
@ -165,7 +165,7 @@ func ProcessStatics(statics []types.ExtraField, p *types.Event, clog *logrus.Ent
|
|||
}
|
||||
break
|
||||
} 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 {
|
||||
|
|
Loading…
Add table
Reference in a new issue