logger

package
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 23, 2022 License: MIT Imports: 17 Imported by: 3

Documentation

Index

Constants

View Source
const (
	ModuleHTTP  = "HTTP"
	ModuleRPC   = "RPC"
	ModuleMySQL = "MySQL"
	ModuleRedis = "Redis"
	ModuleQueue = "Queue"
	ModuleCron  = "Cron"
)
View Source
const (
	AppName     = "app_name"
	Module      = "module"
	ServiceName = "service_name"
	LogID       = "log_id"
	TraceID     = "trace_id"
	Header      = "header"
	Method      = "method"
	Request     = "request"
	Response    = "response"
	Code        = "code"
	ClientIP    = "client_ip"
	ClientPort  = "client_port"
	ServerIP    = "server_ip"
	ServerPort  = "server_port"
	API         = "api"
	Cost        = "cost"
	Timeout     = "timeout"
	Trace       = "trace"
)
View Source
const (
	ContextRPC contextKey
)
View Source
const (
	LogHeader = "Log-Id"
)

Variables

This section is empty.

Functions

func AddField

func AddField(ctx context.Context, fields ...Field) context.Context

func ExtractLogID

func ExtractLogID(req *http.Request) string

ExtractLogID init log id

func Find

func Find(key string, fields []Field) interface{}

func GetRequestBody

func GetRequestBody(req *http.Request) map[string]interface{}

GetRequestBody get http request body

func RotateWriter

func RotateWriter(infoFile, errFile string) (infoWriter io.Writer, errWriter io.Writer, err error)

func ValueLogID

func ValueLogID(ctx context.Context) string

ValueLogID extract log id from context

func ValueTraceID

func ValueTraceID(ctx context.Context) string

ValueTraceID extract trace id from context

func WithFields

func WithFields(ctx context.Context, fields []Field) context.Context

WithFields inject common http log fields to context

func WithLogID

func WithLogID(ctx context.Context, val interface{}) context.Context

WithLogID inject log id to context

func WithTraceID

func WithTraceID(ctx context.Context, val interface{}) context.Context

WithTraceID inject trace_id id to context

Types

type Field

type Field interface {
	Key() string
	Value() interface{}
}

func Error

func Error(err error) Field

func Reflect

func Reflect(key string, value interface{}) Field

func ValueFields

func ValueFields(ctx context.Context) []Field

ValueFields extrect common http log fields from context

type Fields

type Fields struct {
	AppName     string        `json:"app_name"`
	Module      string        `json:"module"`
	ServiceName string        `json:"service_name"`
	LogID       string        `json:"log_id"`
	TraceID     string        `json:"trace_id"`
	Header      http.Header   `json:"header"`
	Method      string        `json:"method"`
	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"`
	API         string        `json:"api"`
	Cost        int64         `json:"cost"`
	Timeout     time.Duration `json:"timeout"`
	Trace       string        `json:"trace"`
}

type Level

type Level int8
const (
	UnknownLevel Level = iota - 1

	DebugLevel

	InfoLevel

	WarnLevel

	ErrorLevel

	FatalLevel
)

func StringToLevel

func StringToLevel(l string) Level

func (Level) String

func (l Level) String() string

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)
	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 NewObjectID

func NewObjectID() ObjectID

NewObjectID returns a new unique ObjectID.

func NewObjectIDWithHexString

func NewObjectIDWithHexString(s string) (o ObjectID, err error)

func NewObjectIDWithTime

func NewObjectIDWithTime(t time.Time) ObjectID

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 StrToObjectID

func StrToObjectID(str string) (ObjectID, error)

StrToObjectID string id to object

func (ObjectID) Counter

func (id ObjectID) Counter() int32

Counter returns the incrementing value part of the id. It's a runtime error to call this method with an invalid id.

func (ObjectID) Hex

func (id ObjectID) Hex() string

Hex returns a hex representation of the ObjectID.

func (ObjectID) Machine

func (id ObjectID) Machine() []byte

Machine returns the 3-byte machine id part of the id. It's a runtime error to call this method with an invalid id.

func (ObjectID) Pid

func (id ObjectID) Pid() uint16

Pid returns the process id part of the id. It's a runtime error to call this method with an invalid id.

func (ObjectID) Time

func (id ObjectID) Time() time.Time

Time returns the timestamp part of the id. It's a runtime error to call this method with an invalid id.

Directories

Path Synopsis
zap
rpc

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL