logx

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: May 3, 2023 License: BSD-3-Clause Imports: 14 Imported by: 4

Documentation

Index

Constants

View Source
const (
	CtxKeyRequestID = contextKey(RequestID)
)
View Source
const (
	// 	RequestID is a random generated string to identify each request.
	//	Example: qwerty1234.
	RequestID = tags.RequestID
)

Key for standardized context value.

Variables

View Source
var (

	// DefaultConfig is a configuration to create:
	// - Non JSON structured.
	// - No app name.
	// - Output to os.Stderr.
	DefaultConfig = Config{
		Debug:    true,
		AppName:  "",
		Filename: "",
	}
)

Functions

func ContextWithRequestID

func ContextWithRequestID(ctx context.Context) context.Context

ContextWithRequestID checks if current context has request id already and assign one if none found. Use for middleware and intercept all incoming requests to assign request id to the context if it doesn't exist.

func DBG

func DBG(ctx context.Context, metadata interface{}, message string)

func ERR

func ERR(ctx context.Context, err error, message string)

func ErrMetadata

func ErrMetadata(err error) map[string]interface{}

ErrMetadata returns a metadata constructed from error. If you are printing a log, this metadata should always be set. Useful if you want to trace log with certain information.

func FTL

func FTL(ctx context.Context, err error, message string)

func GenRequestID

func GenRequestID() string

GenRequestID returns a unique request id.

func GetRequestID

func GetRequestID(ctx context.Context) string

GetContextID returns a request id assigned inside a context.

func INF

func INF(ctx context.Context, metadata interface{}, message string)

func Metadata

func Metadata(detail interface{}) map[string]interface{}

Metadata returns a basic metadata added a more detail metadata.

func New

func New(configs ...Config) error

func NewContext

func NewContext(in ...context.Context) context.Context

NewContext returns a context with built-in request id.

func SetRequestID

func SetRequestID(ctx context.Context, id string) context.Context

SetRequestID returns a context with assigned request id.

func SetRequestIDFromMetadata

func SetRequestIDFromMetadata(ctx context.Context) context.Context

SetRequestIDFromMetadata returns a context with request id and context id value if they exists in metadata.

func TRC

func TRC(ctx context.Context, metadata interface{}, message string)

func WRN

func WRN(ctx context.Context, err error, message string)

Types

type Config

type Config struct {
	Debug    bool
	AppName  string
	Filename string
}

type KV

type KV map[string]interface{}

KV is wrapper for map[string]interface{}.

type Logger

type Logger interface {
	Trace(
		requestID string,
		fields map[string]interface{},
		message string,
	)
	Debug(
		requestID string,
		fields map[string]interface{},
		message string,
	)
	Info(
		requestID string,
		fields map[string]interface{},
		message string,
	)
	Warn(
		requestID string,
		err error,
		fields map[string]interface{},
		message string,
	)
	Error(
		requestID string,
		err error,
		fields map[string]interface{},
		message string,
	)
	Fatal(
		requestID string,
		err error,
		fields map[string]interface{},
		message string,
	)
}

type PGX

type PGX struct{}

func NewPGX

func NewPGX() *PGX

func (*PGX) Log

func (p *PGX) Log(
	ctx context.Context,
	level pgx.LogLevel,
	msg string,
	data map[string]interface{},
)

type ZeroLogger

type ZeroLogger struct {
	// contains filtered or unexported fields
}

func NewZerolog

func NewZerolog(config Config) (*ZeroLogger, error)

func (*ZeroLogger) Debug

func (z *ZeroLogger) Debug(
	requestID string,
	fields map[string]interface{},
	message string,
)

func (*ZeroLogger) Error

func (z *ZeroLogger) Error(
	requestID string,
	err error,
	fields map[string]interface{},
	message string,
)

func (*ZeroLogger) Fatal

func (z *ZeroLogger) Fatal(
	requestID string,
	err error,
	fields map[string]interface{},
	message string,
)

func (*ZeroLogger) Info

func (z *ZeroLogger) Info(
	requestID string,
	fields map[string]interface{},
	message string,
)

func (*ZeroLogger) Trace

func (z *ZeroLogger) Trace(
	requestID string,
	fields map[string]interface{},
	message string,
)

func (*ZeroLogger) Warn

func (z *ZeroLogger) Warn(
	requestID string,
	err error,
	fields map[string]interface{},
	message string,
)

Jump to

Keyboard shortcuts

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