log

package
v5.1.2 Latest Latest
Warning

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

Go to latest
Published: May 3, 2024 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetContextWithCorrelation

func GetContextWithCorrelation(ctx context.Context, c *CorrelationParam) context.Context

func GetContextWithCustomerID

func GetContextWithCustomerID(ctx context.Context, c *CustomerIdentifier) context.Context

func GetCorrelationHeader

func GetCorrelationHeader(ctx context.Context) map[string]string

func SetCorrelationHeader

func SetCorrelationHeader(ctx context.Context, req *http.Request)

Types

type AuditLogWriter

type AuditLogWriter interface {
	WriteMessage(context.Context, interface{}) error
}

type ChanneledLogMux

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

func NewChanneledLogMux

func NewChanneledLogMux(bufferSize uint8, logWriterList ...ChanneledLogWriter) *ChanneledLogMux

func (*ChanneledLogMux) Print

func (ls *ChanneledLogMux) Print(ctx context.Context, msg *LogMessage)

type ChanneledLogWriter

type ChanneledLogWriter interface {
	Start(chan MuxLogMessage)
	WriteMessage(context.Context, *LogMessage) error
	GetBufferSize() int
}

type Config

type Config struct {
	ServiceName  string
	LogLevelName string
	FileTrace    bool
}

type ContextVariable

type ContextVariable string
const (
	ContextKeyCorrelation        ContextVariable = "correlationParam"
	ContextKeyCustomerIdentifier ContextVariable = "customerIdentity"
)

type CorrelationParam

type CorrelationParam struct {
	CorrelationID string  `header:"x-correlation-id" body:"correlationId"`
	ScenarioID    *string `header:"x-scenario-id,omitempty" body:"scenarioId,omitempty"`
	SessionID     *string `header:"x-session-id,omitempty" body:"sessionId,omitempty"`
	ScenarioName  *string `header:"x-scenario-name,omitempty" body:"scenarioName,omitempty"`
}

func GetCorrelationParam

func GetCorrelationParam(ctx context.Context) *CorrelationParam

func GetDefaultCorrelationParam

func GetDefaultCorrelationParam(serviceName string) *CorrelationParam

func (*CorrelationParam) GetHeader

func (c *CorrelationParam) GetHeader() map[string]string

func (*CorrelationParam) GetPayload

func (c *CorrelationParam) GetPayload() map[string]string

func (*CorrelationParam) LoadFromHeader

func (c *CorrelationParam) LoadFromHeader(header map[string]string) error

type CustomerIdentifier

type CustomerIdentifier struct {
	UserID    *string `header:"x-user-id,omitempty" body:"userId,omitempty"`
	AppUserID *string `header:"x-app-user-id,omitempty" body:"appUserID,omitempty"`
	EntityID  *string `header:"x-entity-id,omitempty" body:"entityId,omitempty"`
}

func GetCustomerIdentifier

func GetCustomerIdentifier(ctx context.Context) *CustomerIdentifier

func (*CustomerIdentifier) GetHeader

func (c *CustomerIdentifier) GetHeader() map[string]string

func (*CustomerIdentifier) GetPayload

func (c *CustomerIdentifier) GetPayload() map[string]string

func (*CustomerIdentifier) LoadFromHeader

func (c *CustomerIdentifier) LoadFromHeader(header map[string]string) error

type DefaultLogMux

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

func NewDefaultLogMux

func NewDefaultLogMux(logWriterList ...LogWriter) *DefaultLogMux

func (*DefaultLogMux) AddLogWriter

func (ls *DefaultLogMux) AddLogWriter(ctx context.Context, writer LogWriter)

func (*DefaultLogMux) Print

func (ls *DefaultLogMux) Print(ctx context.Context, msg *LogMessage)

type Log

type Log interface {
	NewResourceLogger(resourceName string) Log
	Audit(ctx context.Context, msg interface{}) error
	Trace(ctx context.Context, message string, logObject ...interface{})
	Debug(ctx context.Context, message string, logObject ...interface{})
	Info(ctx context.Context, message string, logObject ...interface{})
	Notice(ctx context.Context, message string, logObject ...interface{})
	Warning(ctx context.Context, message string, logObject ...interface{})
	Error(ctx context.Context, message string, logObject ...interface{})
	Emergency(ctx context.Context, message string, err error, logObject ...interface{})
	Fatal(ctx context.Context, message string, exitCode int, logObject ...interface{})
	GetLogLevel() LogLevel
	AddLogWriter(context.Context, LogWriter)
}

type LogLevel

type LogLevel struct {
	Level        LogLevelCode
	LogLevelName string
}

func GetLogLevelMap

func GetLogLevelMap(level LogLevelCode) LogLevel

type LogLevelCode

type LogLevelCode uint8
const (
	TRACE     LogLevelCode = 8
	DEBUG     LogLevelCode = 7
	INFO      LogLevelCode = 6
	NOTICE    LogLevelCode = 5
	WARNING   LogLevelCode = 4
	ERROR     LogLevelCode = 3
	EMERGENCY LogLevelCode = 2
	FATAL     LogLevelCode = 0
)

type LogMessage

type LogMessage struct {
	LogLevel
	Message     string
	LogObject   []interface{}
	Timestamp   time.Time
	ModuleName  string
	ServiceName string
	File        string
}

type LogMux

type LogMux interface {
	Print(context.Context, *LogMessage)
	AddLogWriter(context.Context, LogWriter)
}

type LogWriter

type LogWriter interface {
	WriteMessage(context.Context, *LogMessage) error
}

type Logger

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

func New

func New(ctx context.Context, lc *Config, moduleName string, lMux LogMux, audit AuditLogWriter) *Logger

func NewWithDefaultConfig

func NewWithDefaultConfig(ctx context.Context, lc *Config, moduleName string) *Logger

func (*Logger) AddLogWriter

func (l *Logger) AddLogWriter(ctx context.Context, w LogWriter)

func (*Logger) Audit

func (l *Logger) Audit(ctx context.Context, msg interface{}) error

func (*Logger) Debug

func (l *Logger) Debug(ctx context.Context, message string, logObject ...interface{})

func (*Logger) Emergency

func (l *Logger) Emergency(ctx context.Context, message string, err error, logObject ...interface{})

func (*Logger) Error

func (l *Logger) Error(ctx context.Context, message string, logObject ...interface{})

func (*Logger) Fatal

func (l *Logger) Fatal(ctx context.Context, message string, exitCode int, logObject ...interface{})

func (*Logger) GetLogLevel

func (l *Logger) GetLogLevel() LogLevel

func (*Logger) Info

func (l *Logger) Info(ctx context.Context, message string, logObject ...interface{})

func (*Logger) NewResourceLogger

func (l *Logger) NewResourceLogger(resourceName string) Log

func (*Logger) Notice

func (l *Logger) Notice(ctx context.Context, message string, logObject ...interface{})

func (*Logger) SetModuleName

func (l *Logger) SetModuleName(moduleName string)

func (*Logger) Trace

func (l *Logger) Trace(ctx context.Context, message string, logObject ...interface{})

func (*Logger) Warning

func (l *Logger) Warning(ctx context.Context, message string, logObject ...interface{})

type MuxLogMessage

type MuxLogMessage struct {
	Ctx        context.Context
	LogMessage LogMessage
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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