github.com/keysonzzz/kmg@v0.0.0-20151121023212-05317bfd7d39/kmgLog/LogWriter.go (about) 1 package kmgLog 2 3 import ( 4 "encoding/json" 5 "time" 6 ) 7 8 type LogWriter func(r LogRow) 9 10 // 这个LogRow仅仅是用来序列化的,拿去反序列化不好用,不靠谱 11 type LogRow struct { 12 Cat string 13 Time time.Time // 让json库自己折腾去. 14 // Data []json.RawMessage //反序列化可以用这个定义,但是此处只有序列化用定义 15 Data []interface{} 16 } 17 18 func (r LogRow) Marshal() (b []byte, err error) { 19 return json.Marshal(r) 20 } 21 22 /* 23 func (r LogRow) UnmarshalData(index int, obj interface{}) (err error) { 24 return json.Unmarshal(r.Data[index], obj) 25 } 26 func (r LogRow) MustUnmarshalData(index int, obj interface{}) { 27 err := json.Unmarshal(r.Data[index], obj) 28 if err != nil { 29 panic(err) 30 } 31 } 32 */