clog

package
v1.2.0 Latest Latest
Warning

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

Go to latest
Published: Sep 1, 2023 License: MIT Imports: 27 Imported by: 0

Documentation

Index

Constants

View Source
const (
	FormatPretty      = ""
	FormatJson        = "json"
	FormatJsonAndFile = "json_file"
	CLoggerKey        = "clogger2"
)

Variables

View Source
var (
	// Marshaller of Protobuf to JSON
	Marshaller = &jsonpb.Marshaler{}
	// TimestampLog call start.
	TimestampLog = true
	// ServiceField key.
	ServiceField = "service"
	// ServiceLog gRPC service name.
	ServiceLog = true
	// MethodField key.
	MethodField = "method"
	// MethodLog gRPC method name.
	MethodLog = true
	// DurationField key.
	DurationField = "dur"
	// DurationLog gRPC call duration.
	DurationLog = true
	// IPField key.
	IPField = "ip"
	// IPLog gRPC client IP.
	IPLog = true
	// MetadataField key.
	MetadataField = "md"
	// MetadataLog gRPC call metadata.
	MetadataLog = true
	// UserAgentField key.
	UserAgentField = "ua"
	// UserAgentLog gRPC client User Agent.
	UserAgentLog = true
	// ReqField key.
	ReqField = "req"
	// ReqLog gRPC request body.
	ReqLog = true
	// RespField key.
	RespField = "resp"
	// RespLog gRPC response body.
	RespLog = true
	// MaxSize to log gRPC bodies.
	MaxSize = 2048000
	// CodeField gRPC status code response.
	CodeField = "code"
	// MsgField gRPC response message.
	MsgField = "msg"
	// DetailsField gRPC response errors.
	DetailsField = "details"
	// UnaryMessageDefault of logging messages from unary.
	UnaryMessageDefault = "unary"
	// TraceIDField
	TraceIDField = "traceID"
)

Functions

func GetContextLog

func GetContextLog(ctx context.Context) *zerolog.Logger

func GetLog

func GetLog() *zerolog.Logger

func GetRawJSON added in v1.1.1

func GetRawJSON(i interface{}) *bytes.Buffer

GetRawJSON converts a Protobuf message to JSON bytes if less than MaxSize.

func LogDuration added in v1.1.1

func LogDuration(logger *zerolog.Event, t time.Time)

LogDuration in seconds of gRPC call.

{
	DurationField: Timestamp,
}

func LogIP added in v1.1.1

func LogIP(ctx context.Context, logger *zerolog.Event)

LogIP address of gRPC client, if assigned.

{
	IpField: 127.0.0.1
}

func LogIncomingCall added in v1.1.1

func LogIncomingCall(ctx context.Context, logger *zerolog.Event, method string, t time.Time, req interface{})

LogIncomingCall of gRPC method.

{
	ServiceField: ExampleService,
	MethodField: ExampleMethod,
	DurationField: 1.00,
}

func LogIncomingMetadata added in v1.1.1

func LogIncomingMetadata(ctx context.Context, e *zerolog.Event)

LogIncomingMetadata or UserAgent field of incoming gRPC Request, if assigned.

{
	MetadataField: {
		MetadataKey1: MetadataValue1,
	}
}

{
	UserAgentField: "Client-assigned User-Agent",
}

func LogIncomingRequest added in v1.1.1

func LogIncomingRequest(ctx context.Context, logger *zerolog.Logger, method string, t time.Time, req interface{})

func LogMetadata added in v1.1.1

func LogMetadata(md *metadata.MD) *zerolog.Event

LogMetadata of gRPC Request

{
	MetadataField: {
		MetadataKey1: MetadataValue1,
	}
}

func LogMethod added in v1.1.1

func LogMethod(logger *zerolog.Event, method string)

LogMethod of gRPC call.

{
	MethodField: gRPCMethodName,
}

func LogRequest added in v1.1.1

func LogRequest(e *zerolog.Event, req interface{})

LogRequest in JSON of gRPC Call, given Request is smaller than MaxSize (Default=2MB).

{
	ReqField: {}
}

func LogResponse added in v1.1.1

func LogResponse(e *zerolog.Event, resp interface{})

LogResponse in JSON of gRPC Call, given Response is smaller than MaxSize (Default=2MB).

{
	RespField: {}
}

func LogService added in v1.1.1

func LogService(logger *zerolog.Event, method string)

LogService of gRPC name.

{
	ServiceField: gRPCServiceName,
}

func LogStatusError added in v1.1.1

func LogStatusError(logger *zerolog.Event, err error)

LogStatusError of gRPC Error Response.

{
	Err: "An unexpected error occurred",
	CodeField: "Unknown",
	MsgField: "Error message returned from the server",
	DetailsField: [Errors],
}

func LogTimestamp added in v1.1.1

func LogTimestamp(logger *zerolog.Event, t time.Time)

LogTimestamp of call.

{
	TimestampField: Timestamp,
}

func LogUserAgent added in v1.1.1

func LogUserAgent(logger *zerolog.Event, md *metadata.MD)

LogUserAgent of gRPC Client, if assigned.

{
	UserAgentField: "Client-assigned User-Agent",
}

func New

func New(format string, debug bool)

func NewLogFile added in v1.1.1

func NewLogFile(cf ConfigFile) *logger

func SetToContext added in v1.1.1

func SetToContext(method string) *zerolog.Logger

func TraceLoggingMiddleware added in v1.1.1

func TraceLoggingMiddleware() fiber.Handler

func UnaryServerInterceptorWithLogger added in v1.1.1

func UnaryServerInterceptorWithLogger() grpc.UnaryServerInterceptor

func WithField

func WithField(field map[string]interface{}) *zerolog.Logger

Types

type ConfigFile added in v1.1.1

type ConfigFile struct {
	Filename      string
	EnableTimeKey bool
	TimeKey       string
	Path          string
	MaxSize       string
	MaxAge        int
	MaxBackups    int
	LocalTime     bool
	Compress      bool
	TImeZone      *time.Location
}

Jump to

Keyboard shortcuts

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