package jsonlog
import "github.com/docker/docker/pkg/jsonlog"
Package jsonlog provides helper functions to parse and print time (time.Time) as JSON.
Index ¶
- Constants
- func FastTimeMarshalJSON(t time.Time) (string, error)
- type JSONLog
- func (jl *JSONLog) Format(format string) (string, error)
- func (mj *JSONLog) MarshalJSON() ([]byte, error)
- func (mj *JSONLog) MarshalJSONBuf(buf *bytes.Buffer) error
- func (jl *JSONLog) Reset()
- type JSONLogs
Constants ¶
const ( // RFC3339NanoFixed is our own version of RFC339Nano because we want one // that pads the nano seconds part with zeros to ensure // the timestamps are aligned in the logs. RFC3339NanoFixed = "2006-01-02T15:04:05.000000000Z07:00" // JSONFormat is the format used by FastMarshalJSON JSONFormat = `"` + time.RFC3339Nano + `"` )
Functions ¶
func FastTimeMarshalJSON ¶
FastTimeMarshalJSON avoids one of the extra allocations that time.MarshalJSON is making.
Types ¶
type JSONLog ¶
type JSONLog struct { // Log is the log message Log string `json:"log,omitempty"` // Stream is the log source Stream string `json:"stream,omitempty"` // Created is the created timestamp of log Created time.Time `json:"time"` // Attrs is the list of extra attributes provided by the user Attrs map[string]string `json:"attrs,omitempty"` }
JSONLog represents a log message, typically a single entry from a given log stream. JSONLogs can be easily serialized to and from JSON and support custom formatting.
func (*JSONLog) Format ¶
Format returns the log formatted according to format If format is nil, returns the log message If format is json, returns the log marshaled in json format By default, returns the log with the log time formatted according to format.
func (*JSONLog) MarshalJSON ¶
MarshalJSON marshals the JSONLog.
func (*JSONLog) MarshalJSONBuf ¶
MarshalJSONBuf marshals the JSONLog and stores the result to a bytes.Buffer.
func (*JSONLog) Reset ¶
func (jl *JSONLog) Reset()
Reset resets the log to nil.
type JSONLogs ¶
type JSONLogs struct { Log []byte `json:"log,omitempty"` Stream string `json:"stream,omitempty"` Created string `json:"time"` // json-encoded bytes RawAttrs json.RawMessage `json:"attrs,omitempty"` }
JSONLogs is based on JSONLog. It allows marshalling JSONLog from Log as []byte and an already marshalled Created timestamp.
func (*JSONLogs) MarshalJSONBuf ¶
MarshalJSONBuf is based on the same method from JSONLog It has been modified to take into account the necessary changes.
Source Files ¶
jsonlog.go jsonlog_marshalling.go jsonlogbytes.go time_marshalling.go
- Version
- v1.12.0
- Published
- Jul 28, 2016
- Platform
- linux/amd64
- Imports
- 6 packages
- Last checked
- 11 minutes ago –
Tools for package owners.