MCPcopy Create free account
hub / github.com/deepflowio/deepflow / WriteJson

Method WriteJson

server/controller/cloud/common/debugger.go:67–102  ·  view source on GitHub ↗
(filename, dividingLine string, data []*simplejson.Json)

Source from the content-addressed store, hash-verified

65}
66
67func (d *Debugger) WriteJson(filename, dividingLine string, data []*simplejson.Json) {
68 if !CONF.DebugEnabled {
69 return
70 }
71
72 err := d.createLogDirIfNotExists(d.tmpLogDir)
73 if err != nil {
74 return
75 }
76 file := d.tmpLogDir + filename
77 f, err := os.OpenFile(file, os.O_RDWR|os.O_CREATE|os.O_APPEND, 0666)
78 if err != nil {
79 log.Errorf("open file: %s failed: %s", file, err.Error())
80 return
81 }
82 defer f.Close()
83 w := bufio.NewWriter(f)
84 w.WriteString(dividingLine + "\n")
85 for _, item := range data {
86 jsonBytes, err := item.MarshalJSON()
87 if err != nil {
88 log.Errorf("encode line: %+v failed: %s", item, err.Error())
89 continue
90 }
91 jsonBytes = append(jsonBytes, []byte("\n")...)
92 _, err = w.Write(jsonBytes)
93 if err != nil {
94 log.Errorf("buffer write line: %s failed: %s", string(jsonBytes), err.Error())
95 }
96 }
97 err = w.Flush()
98 if err != nil {
99 log.Errorf("buffer flush failed: %s", err.Error())
100 }
101 return
102}
103
104func (d *Debugger) createLogDirIfNotExists(logDir string) error {
105 if _, err := os.Stat(logDir); err == nil {

Callers 15

getRawDataMethod · 0.80
GetResponseMethod · 0.80
getResponseMethod · 0.80
getRouterAndTablesMethod · 0.80
getRedisInstancesMethod · 0.80
getSubDomainsMethod · 0.80
getCENsMethod · 0.80
getAZsMethod · 0.80
getPeerConnectionsMethod · 0.80
getBLoadBalancesMethod · 0.80
getAppBLoadBalancesMethod · 0.80
getVMsMethod · 0.80

Calls 8

WriteStringMethod · 0.80
FlushMethod · 0.80
ErrorMethod · 0.65
CloseMethod · 0.65
ErrorfMethod · 0.45
MarshalJSONMethod · 0.45
WriteMethod · 0.45

Tested by

no test coverage detected