1 Star 0 Fork 0

zhangjungang/beats

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
json.go 981 Bytes
一键复制 编辑 原始数据 按行查看 历史
Steffen Siering 提交于 2017-01-11 13:26 . Cleanup output codecs (#3285)
package json
import (
"encoding/json"
"github.com/elastic/beats/libbeat/common"
"github.com/elastic/beats/libbeat/logp"
"github.com/elastic/beats/libbeat/outputs"
)
type Encoder struct {
Pretty bool
}
type Config struct {
Pretty bool
}
var defaultConfig = Config{
Pretty: false,
}
func init() {
outputs.RegisterOutputCodec("json", func(cfg *common.Config) (outputs.Codec, error) {
config := defaultConfig
if cfg != nil {
if err := cfg.Unpack(&config); err != nil {
return nil, err
}
}
return New(config.Pretty), nil
})
}
func New(pretty bool) *Encoder {
return &Encoder{pretty}
}
func (e *Encoder) Encode(event common.MapStr) ([]byte, error) {
var err error
var serializedEvent []byte
if e.Pretty {
serializedEvent, err = json.MarshalIndent(event, "", " ")
} else {
serializedEvent, err = json.Marshal(event)
}
if err != nil {
logp.Err("Fail to convert the event to JSON (%v): %#v", err, event)
}
return serializedEvent, err
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/zhangjungang/beats.git
git@gitee.com:zhangjungang/beats.git
zhangjungang
beats
beats
v5.6.13

搜索帮助