logger

package
v0.14.2 Latest Latest
Warning

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

Go to latest
Published: Nov 14, 2023 License: MIT Imports: 16 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// LogLevelNone does not output logs
	LogLevelNone = LogLevel{Level: 0}
	// LogLevelFatal only shows catastrophic errors
	LogLevelFatal = LogLevel{Level: 1}
	// LogLevelError shows all errors
	LogLevelError = LogLevel{Level: 2}
	// LogLevelWarning shows errors and warning
	LogLevelWarning = LogLevel{Level: 3}
	// LogLevelInfo shows errors, warning and info
	LogLevelInfo = LogLevel{Level: 4}
	// LogLevelVerbose shows an excessive amount of log
	LogLevelVerbose = LogLevel{Level: 5}
	// LogLevelDebug shows log to debug
	LogLevelDebug = LogLevel{Level: 6}
)
View Source
var ErrNotImplemented = fmt.Errorf("Not supported")

ErrNotImplemented is returned when a method is not supported by this implementation.

View Source
var ErrUnknownProvider = fmt.Errorf("Unknown provider")

ErrUnknownProvider can be returned by RemoveProvider.

Functions

func LogListenerObject

func LogListenerObject(impl LogListenerImplementor) bus.Actor

LogListenerObject returns an object using LogListenerImplementor

func LogManagerObject

func LogManagerObject(impl LogManagerImplementor) bus.Actor

LogManagerObject returns an object using LogManagerImplementor

func LogProviderObject

func LogProviderObject(impl LogProviderImplementor) bus.Actor

LogProviderObject returns an object using LogProviderImplementor

func NewLogManager

func NewLogManager() bus.Actor

NewLogManager returns an object to be registered as the LogManager.

Types

type LogLevel

type LogLevel struct {
	Level int32
}

LogLevel is serializable

type LogListenerImplementor

type LogListenerImplementor interface {
	// Activate is called before any other method.
	// It shall be used to initialize the interface.
	// activation provides runtime informations.
	// activation.Terminate() unregisters the object.
	// activation.Session can access other services.
	// helper enables signals and properties updates.
	// Properties must be initialized using helper,
	// during the Activate call.
	Activate(activation bus.Activation, helper LogListenerSignalHelper) error
	OnTerminate()
	SetLevel(level LogLevel) error
	AddFilter(category string, level LogLevel) error
	ClearFilters() error
	// OnLogLevelChange is called when the property is updated.
	// Returns an error if the property value is not allowed
	OnLogLevelChange(level LogLevel) error
}

LogListenerImplementor interface of the service implementation

type LogListenerProxy

type LogListenerProxy interface {
	SetLevel(level LogLevel) error
	AddFilter(category string, level LogLevel) error
	ClearFilters() error
	SubscribeOnLogMessage() (unsubscribe func(), updates chan LogMessage, err error)
	SubscribeOnLogMessages() (unsubscribe func(), updates chan []LogMessage, err error)
	SubscribeOnLogMessagesWithBacklog() (unsubscribe func(), updates chan []LogMessage, err error)
	GetLogLevel() (LogLevel, error)
	SetLogLevel(LogLevel) error
	SubscribeLogLevel() (unsubscribe func(), updates chan LogLevel, err error)
	// Generic methods shared by all objectsProxy
	bus.ObjectProxy
	// WithContext can be used cancellation and timeout
	WithContext(ctx context.Context) LogListenerProxy
}

LogListenerProxy represents a proxy object to the service

func CreateLogListener

func CreateLogListener(session bus.Session, service bus.Service, impl LogListenerImplementor) (LogListenerProxy, error)

CreateLogListener registers a new object to a service and returns a proxy to the newly created object

func LogListener

func LogListener(session bus.Session) (LogListenerProxy, error)

LogListener returns a proxy to a remote service

func MakeLogListener

func MakeLogListener(sess bus.Session, proxy bus.Proxy) LogListenerProxy

MakeLogListener returns a specialized proxy.

type LogListenerSignalHelper

type LogListenerSignalHelper interface {
	SignalOnLogMessage(log LogMessage) error
	SignalOnLogMessages(logs []LogMessage) error
	SignalOnLogMessagesWithBacklog(logs []LogMessage) error
	UpdateLogLevel(level LogLevel) error
}

LogListenerSignalHelper provided to LogListener a companion object

type LogManagerImplementor

type LogManagerImplementor interface {
	// Activate is called before any other method.
	// It shall be used to initialize the interface.
	// activation provides runtime informations.
	// activation.Terminate() unregisters the object.
	// activation.Session can access other services.
	// helper enables signals and properties updates.
	// Properties must be initialized using helper,
	// during the Activate call.
	Activate(activation bus.Activation, helper LogManagerSignalHelper) error
	OnTerminate()
	Log(messages []LogMessage) error
	CreateListener() (LogListenerProxy, error)
	GetListener() (LogListenerProxy, error)
	AddProvider(source LogProviderProxy) (int32, error)
	RemoveProvider(sourceID int32) error
}

LogManagerImplementor interface of the service implementation

type LogManagerProxy

type LogManagerProxy interface {
	Log(messages []LogMessage) error
	CreateListener() (LogListenerProxy, error)
	GetListener() (LogListenerProxy, error)
	AddProvider(source LogProviderProxy) (int32, error)
	RemoveProvider(sourceID int32) error
	// Generic methods shared by all objectsProxy
	bus.ObjectProxy
	// WithContext can be used cancellation and timeout
	WithContext(ctx context.Context) LogManagerProxy
}

LogManagerProxy represents a proxy object to the service

func CreateLogManager

func CreateLogManager(session bus.Session, service bus.Service, impl LogManagerImplementor) (LogManagerProxy, error)

CreateLogManager registers a new object to a service and returns a proxy to the newly created object

func LogManager

func LogManager(session bus.Session) (LogManagerProxy, error)

LogManager returns a proxy to a remote service

func MakeLogManager

func MakeLogManager(sess bus.Session, proxy bus.Proxy) LogManagerProxy

MakeLogManager returns a specialized proxy.

type LogManagerSignalHelper

type LogManagerSignalHelper interface{}

LogManagerSignalHelper provided to LogManager a companion object

type LogMessage

type LogMessage struct {
	Source     string
	Level      LogLevel
	Category   string
	Location   string
	Message    string
	Id         uint32
	Date       TimePoint
	SystemDate TimePoint
}

LogMessage is serializable

type LogProviderImplementor

type LogProviderImplementor interface {
	// Activate is called before any other method.
	// It shall be used to initialize the interface.
	// activation provides runtime informations.
	// activation.Terminate() unregisters the object.
	// activation.Session can access other services.
	// helper enables signals and properties updates.
	// Properties must be initialized using helper,
	// during the Activate call.
	Activate(activation bus.Activation, helper LogProviderSignalHelper) error
	OnTerminate()
	SetVerbosity(level LogLevel) error
	SetCategory(category string, level LogLevel) error
	ClearAndSet(filters map[string]LogLevel) error
}

LogProviderImplementor interface of the service implementation

type LogProviderProxy

type LogProviderProxy interface {
	SetVerbosity(level LogLevel) error
	SetCategory(category string, level LogLevel) error
	ClearAndSet(filters map[string]LogLevel) error
	// Generic methods shared by all objectsProxy
	bus.ObjectProxy
	// WithContext can be used cancellation and timeout
	WithContext(ctx context.Context) LogProviderProxy
}

LogProviderProxy represents a proxy object to the service

func CreateLogProvider

func CreateLogProvider(session bus.Session, service bus.Service, impl LogProviderImplementor) (LogProviderProxy, error)

CreateLogProvider registers a new object to a service and returns a proxy to the newly created object

func LogProvider

func LogProvider(session bus.Session) (LogProviderProxy, error)

LogProvider returns a proxy to a remote service

func MakeLogProvider

func MakeLogProvider(sess bus.Session, proxy bus.Proxy) LogProviderProxy

MakeLogProvider returns a specialized proxy.

type LogProviderSignalHelper

type LogProviderSignalHelper interface{}

LogProviderSignalHelper provided to LogProvider a companion object

type Logger

type Logger interface {
	Fatal(format string, v ...interface{})
	Error(format string, v ...interface{})
	Warning(format string, v ...interface{})
	Info(format string, v ...interface{})
	Verbose(format string, v ...interface{})
	Debug(format string, v ...interface{})
	Terminate()
}

Logger sends a log message to the log manager if a log listener request it, else it does nothing, except Fatal which calls os.Exit(1).

func NewLogger

func NewLogger(session bus.Session, category string) (Logger, error)

NewLogger returns a new Logger. NewLogger creates a new log provider and associate it with log manager.

type TimePoint

type TimePoint struct {
	Ns uint64
}

TimePoint is serializable

Jump to

Keyboard shortcuts

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