| package jsonlog |
| |
| import ( |
| "encoding/json" |
| "fmt" |
| "time" |
| ) |
| |
| type JSONLog struct { |
| Log string `json:"log,omitempty"` |
| Stream string `json:"stream,omitempty"` |
| Created time.Time `json:"time"` |
| } |
| |
| func (jl *JSONLog) Format(format string) (string, error) { |
| if format == "" { |
| return jl.Log, nil |
| } |
| if format == "json" { |
| m, err := json.Marshal(jl) |
| return string(m), err |
| } |
| return fmt.Sprintf("%s %s", jl.Created.Format(format), jl.Log), nil |
| } |
| |
| func (jl *JSONLog) Reset() { |
| jl.Log = "" |
| jl.Stream = "" |
| jl.Created = time.Time{} |
| } |