代码拉取完成,页面将自动刷新
package prospector
import (
	"fmt"
	"github.com/elastic/beats/filebeat/channel"
	"github.com/elastic/beats/filebeat/input/file"
	"github.com/elastic/beats/libbeat/common"
	"github.com/elastic/beats/libbeat/logp"
)
type Context struct {
	States        []file.State
	Done          chan struct{}
	BeatDone      chan struct{}
	DynamicFields *common.MapStrPointer
}
type Factory func(config *common.Config, outletFactory channel.Factory, context Context) (Prospectorer, error)
var registry = make(map[string]Factory)
func Register(name string, factory Factory) error {
	logp.Info("Registering prospector factory")
	if name == "" {
		return fmt.Errorf("Error registering prospector: name cannot be empty")
	}
	if factory == nil {
		return fmt.Errorf("Error registering prospector '%v': factory cannot be empty", name)
	}
	if _, exists := registry[name]; exists {
		return fmt.Errorf("Error registering prospector '%v': already registered", name)
	}
	registry[name] = factory
	logp.Info("Successfully registered prospector")
	return nil
}
func GetFactory(name string) (Factory, error) {
	if _, exists := registry[name]; !exists {
		return nil, fmt.Errorf("Error creating prospector. No such prospector type exist: '%v'", name)
	}
	return registry[name], nil
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
 马建仓 AI 助手
马建仓 AI 助手