1 Star 0 Fork 0

sqos/beats

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
codecs.go 747 Bytes
一键复制 编辑 原始数据 按行查看 历史
package codecs
import (
"errors"
"fmt"
"github.com/elastic/beats/libbeat/outputs"
"github.com/elastic/beats/libbeat/plugin"
)
type codecPlugin struct {
name string
factory outputs.CodecFactory
}
var pluginKey = "libbeat.output.codec"
func Plugin(name string, f outputs.CodecFactory) map[string][]interface{} {
return plugin.MakePlugin(name, codecPlugin{name, f})
}
func init() {
plugin.MustRegisterLoader(pluginKey, func(ifc interface{}) (err error) {
b, ok := ifc.(codecPlugin)
if !ok {
return errors.New("plugin does not match output codec plugin type")
}
defer func() {
if msg := recover(); msg != nil {
err = fmt.Errorf("%s", msg)
}
}()
outputs.RegisterOutputCodec(b.name, b.factory)
return
})
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/sqos/beats.git
git@gitee.com:sqos/beats.git
sqos
beats
beats
v5.5.0

搜索帮助