Documentation ¶
Index ¶
- Constants
- func AddField(ctx context.Context, fields ...Field)
- func DeleteField(ctx context.Context, keys ...string)
- func ExtractLogID(req *http.Request) string
- func ForkContext(ctx context.Context) context.Context
- func ForkContextOnlyMeta(ctx context.Context) context.Context
- func GetRequestBody(req *http.Request) []byte
- func InitFieldsContainer(ctx context.Context) context.Context
- func RangeFields(ctx context.Context, f func(f Field))
- func RotateWriter(infoFile, errFile string) (infoWriter io.Writer, errWriter io.Writer, err error)
- func SetLogID(ctx context.Context, header http.Header) (err error)
- type Field
- type Fields
- type Level
- type Logger
- type ObjectID
Constants ¶
const ( ModuleHTTP = "HTTP" ModuleRPC = "RPC" ModuleMySQL = "MySQL" ModuleRedis = "Redis" ModuleQueue = "Queue" ModuleCron = "Cron" )
const ( AppName = "app_name" LogID = "log_id" TraceID = "trace_id" Module = "module" ServiceName = "service_name" RequestHeader = "request_header" ResponseHeader = "response_header" Method = "method" API = "api" URI = "uri" Request = "request" Response = "response" Status = "status" ClientIP = "client_ip" ClientPort = "client_port" ServerIP = "server_ip" ServerPort = "server_port" Cost = "cost" Errno = "errno" )
const (
LogHeader = "Log-Id"
)
Variables ¶
This section is empty.
Functions ¶
func DeleteField ¶ added in v1.0.9
func ForkContextOnlyMeta ¶ added in v1.0.11
func GetRequestBody ¶
GetRequestBody get http request body
func InitFieldsContainer ¶ added in v1.0.9
func RangeFields ¶ added in v1.0.9
func RotateWriter ¶
Types ¶
type Field ¶
func ExtractFields ¶ added in v1.0.9
type Fields ¶
type Fields struct { AppName string `json:"app_name"` LogID string `json:"log_id"` TraceID string `json:"trace_id"` Module string `json:"module"` ServiceName string `json:"service_name"` RequestHeader http.Header `json:"request_header"` ResponseHeader http.Header `json:"response_header"` Method string `json:"method"` API string `json:"api"` URI string `json:"uri"` Request interface{} `json:"request"` Response interface{} `json:"response"` Code int `json:"code"` ClientIP string `json:"client_ip"` ClientPort int `json:"client_port"` ServerIP string `json:"server_ip"` ServerPort int `json:"server_port"` Cost int64 `json:"cost"` Error string `json:"error"` Stack string `json:"stack"` }
type Logger ¶
type Logger interface { Debug(ctx context.Context, msg string, fields ...Field) Info(ctx context.Context, msg string, fields ...Field) Warn(ctx context.Context, msg string, fields ...Field) Error(ctx context.Context, msg string, fields ...Field) DPanic(ctx context.Context, msg string, fields ...Field) Panic(ctx context.Context, msg string, fields ...Field) Fatal(ctx context.Context, msg string, fields ...Field) GetLevel() Level Close() error }
type ObjectID ¶
type ObjectID [12]byte
LogId is a unique ID identifying a log record. It must be exactly 12 bytes long.
Reference:http://www.mongodb.org/display/DOCS/Object+IDs
func NewObjectIDWithTime ¶
NewObjectIDWithTime returns a dummy ObjectID with the timestamp part filled with the provided number of seconds from epoch UTC, and all other parts filled with zeroes. It's not safe to insert a document with an id generated by this method, it is useful only for queries to find documents with ids generated before or after the specified timestamp.
func (ObjectID) Counter ¶
Counter returns the incrementing value part of the id. It's a runtime error to call this method with an invalid id.
func (ObjectID) Machine ¶
Machine returns the 3-byte machine id part of the id. It's a runtime error to call this method with an invalid id.