Documentation ¶
Index ¶
- Constants
- Variables
- func DbgMsg(recorderXID xid.ID, format string, args ...interface{}) debugMessage
- func IoDirectDefaultFormatter(msg *LogMsg) string
- func NewDebugLogger(writer io.Writer) *debugLogger
- func NewIoDirectRecorder(writer io.Writer, prefix ...string) *ioDirectRecorder
- func NewSyslogRecorder(prefix string) *syslogRecorder
- func SignalClose() controlSignal
- func SignalDropDbgChan() controlSignal
- func SignalDropErrChan() controlSignal
- func SignalInit(chErr chan error) controlSignal
- func SignalSetDbgChan(chDbg chan<- debugMessage) controlSignal
- func SignalSetErrChan(chErr chan<- error) controlSignal
- func SignalStop() controlSignal
- func SpawnIoDirectRecorder(writer io.Writer, prefix ...string) *ioDirectRecorder
- func SpawnSyslogRecorder(prefix string) *syslogRecorder
- type BatchResult
- func (br BatchResult) Error() string
- func (br *BatchResult) Fail(rec RecorderID, err error) *BatchResult
- func (br BatchResult) GetErrors() map[RecorderID]error
- func (br BatchResult) GetSuccessful() []RecorderID
- func (br *BatchResult) OK(rec RecorderID) *BatchResult
- func (br *BatchResult) SetMsg(msgFmt string, msgArgs ...interface{}) *BatchResult
- type FormatFunc
- type InternalError
- type ListOfRecorders
- type LogMsg
- func (LM *LogMsg) Addf(msgFmt string, msgArgs ...interface{}) *LogMsg
- func (LM *LogMsg) Addfn(msgFmt string, msgArgs ...interface{}) *LogMsg
- func (LM *LogMsg) GetContent() string
- func (LM *LogMsg) GetFlags() MsgFlagT
- func (LM *LogMsg) GetTime() time.Time
- func (LM *LogMsg) SetFlags(flags MsgFlagT) *LogMsg
- func (LM *LogMsg) Setf(msgFmt string, msgArgs ...interface{}) *LogMsg
- func (LM *LogMsg) UpdateTime() *LogMsg
- type LogRecorder
- type Logger
- func (L *Logger) ChangeSeverityOrder(recorder RecorderID, srcFlag MsgFlagT, dir ssDirection, trgFlag MsgFlagT) error
- func (L *Logger) Close()
- func (L *Logger) DefaultsAdd(recorders []RecorderID) error
- func (L *Logger) DefaultsRemove(recorders []RecorderID) error
- func (L *Logger) DefaultsSet(recorders []RecorderID) error
- func (L *Logger) Initialise(objects ...ListOfRecorders) error
- func (L *Logger) NumberOfRecorders() int
- func (L *Logger) RegisterRecorder(id RecorderID, intrf RecorderInterface, asDefault ...bool) error
- func (L *Logger) SetSeverityMask(recorder RecorderID, flags MsgFlagT) error
- func (L *Logger) UnregisterRecorder(id RecorderID) error
- func (L *Logger) Write(flags MsgFlagT, msgFmt string, msgArgs ...interface{}) error
- func (L *Logger) WriteMsg(recorders []RecorderID, msg *LogMsg) error
- type MsgFlagT
- type RecorderID
- type RecorderInterface
Constants ¶
const ( SigInit signalType = "SIG_INIT" SigClose signalType = "SIG_CLOSE" SigStop signalType = "SIG_STOP" SigSetErrChan signalType = "SIG_SET_ERR" SigSetDbgChan signalType = "SIG_SET_DBG" SigDropErrChan signalType = "SIG_DROP_ERR" SigDropDbgChan signalType = "SIG_GROP_DBG" )
const After ssDirection = false
const Before ssDirection = true
Variables ¶
var CfgAutoStartListening bool_s = bool_s{/* contains filtered or unexported fields */}
If true, Initialise function with passed 'objects' argument will start listeners by self for not-listening recorders.
default value: true
var CfgGlobalDisable bool_s = bool_s{/* contains filtered or unexported fields */}
If true, all Logger methods will be skipped.
default value: false
var ErrNoRecorders = errors.New("xlog: the logger has no registered recorders")
ErrNoRecorders returns when user tries to write to the empty logger.
var ErrNotInitialised = errors.New("xlog: not initialised")
ErrNotInitialised returns when you try to write in the uninitialised logger.
var ErrNotListening error = errors.New("xlog: recorder is not listening")
ErrNotListening returns when Logger tries to send a signal to recorder which is not ready to receive signals.
var ErrNotWhereToWrite = errors.New("xlog: " +
"the logger has no default recorders, " +
"but custom recorders are not specified")
ErrNotWhereToWrite returns when a user tries to write to the logger without configured default recorders with unspecified custom recorders field (nil).
var ErrWrongFlagValue = errors.New("xlog: wrong flag value")
ErrWrongFlagValue returns when some function detects a wrong flag value.
var ErrWrongParameter = errors.New("xlog: wrong parameter")
ErrWrongParameter returns when passed parameter is incorrect e.g. RecorderID("").
var ErrWrongRecorderID = errors.New("xlog: wrong recorder id")
ErrWrongRecorderID returns when recorder id can not be found in the recorder list or if the new id already used in the logger object.
Functions ¶
func IoDirectDefaultFormatter ¶ added in v0.1.5
func NewDebugLogger ¶ added in v0.3.0
func NewIoDirectRecorder ¶
NewIoDirectRecorder allocates and returns a new I/O direct recorder (recorder which represents endpoint as io.Writer).
func NewSyslogRecorder ¶
func NewSyslogRecorder(prefix string) *syslogRecorder
NewSyslogRecorder allocates and returns a new syslog recorder.
func SignalClose ¶ added in v0.3.0
func SignalClose() controlSignal
func SignalDropDbgChan ¶ added in v0.4.1
func SignalDropDbgChan() controlSignal
func SignalDropErrChan ¶ added in v0.4.1
func SignalDropErrChan() controlSignal
func SignalInit ¶ added in v0.3.0
func SignalInit(chErr chan error) controlSignal
func SignalSetDbgChan ¶ added in v0.4.1
func SignalSetDbgChan(chDbg chan<- debugMessage) controlSignal
func SignalSetErrChan ¶ added in v0.4.1
func SignalSetErrChan(chErr chan<- error) controlSignal
func SignalStop ¶ added in v0.3.0
func SignalStop() controlSignal
func SpawnIoDirectRecorder ¶ added in v0.4.1
SpawnIoDirectRecorder creates recorder and starts a listener.
func SpawnSyslogRecorder ¶ added in v0.4.1
func SpawnSyslogRecorder(prefix string) *syslogRecorder
SpawnSyslogRecorder creates recorder and starts a listener.
Types ¶
type BatchResult ¶ added in v0.1.5
type BatchResult struct {
// contains filtered or unexported fields
}
BatchResult is designed to accumulate the status (success and failure) of several operations. It is used as a partial error when some operations complete successfully and some do not. It is mainly used in processing lists of recorders, for example during initialisation ops.
func (BatchResult) Error ¶ added in v0.1.5
func (br BatchResult) Error() string
func (*BatchResult) Fail ¶ added in v0.1.5
func (br *BatchResult) Fail(rec RecorderID, err error) *BatchResult
func (BatchResult) GetErrors ¶ added in v0.4.1
func (br BatchResult) GetErrors() map[RecorderID]error
func (BatchResult) GetSuccessful ¶ added in v0.4.1
func (br BatchResult) GetSuccessful() []RecorderID
func (*BatchResult) OK ¶ added in v0.1.5
func (br *BatchResult) OK(rec RecorderID) *BatchResult
func (*BatchResult) SetMsg ¶ added in v0.1.5
func (br *BatchResult) SetMsg(msgFmt string, msgArgs ...interface{}) *BatchResult
type FormatFunc ¶
FormatFunc is an interface for the recorder's format function. This function handles the log message object and returns final output string.
type InternalError ¶ added in v0.1.5
This error used for critical situations caused by wrong package usage (by user). The operations cannot be done with the wrong data, may cause data damage or panics (in this function call).
func (InternalError) Error ¶ added in v0.1.5
func (e InternalError) Error() string
type ListOfRecorders ¶ added in v0.5.0
type ListOfRecorders []LogRecorder
func (*ListOfRecorders) Add ¶ added in v0.5.0
func (list *ListOfRecorders) Add(rec LogRecorder)
func (ListOfRecorders) FindByID ¶ added in v0.5.0
func (list ListOfRecorders) FindByID(id xid.ID) LogRecorder
type LogMsg ¶
type LogMsg struct { Data interface{} // extra data // contains filtered or unexported fields }
LogMsg represents a log message. It contains message data, flags, time and extra data for non-default handling.
func (*LogMsg) Addf ¶ added in v0.1.5
Addf attaches new string to the end of the existing message text.
func (*LogMsg) Addfn ¶ added in v0.3.0
Addfn adds new string to the existing message text as a new line.
func (*LogMsg) GetContent ¶ added in v0.1.1
func (*LogMsg) SetFlags ¶ added in v0.2.1
SetFlags sets severity and arrtibute flags for the message.
func (*LogMsg) UpdateTime ¶ added in v0.1.1
UpdateTime updates message's time to current time.
type LogRecorder ¶ added in v0.4.1
type LogRecorder interface { Listen() IsListening() bool Intrf() RecorderInterface GetID() xid.ID }
LogRecorder is an interface for the log endpoint recorder. These types should provide write functions and other methods to correctly interact with a logging destination objects (e.g. files, streams etc).
type Logger ¶
func NewLogger ¶ added in v0.1.3
func NewLogger() *Logger
NewLogger allocates and returns new logger.
func (*Logger) ChangeSeverityOrder ¶ added in v0.1.5
func (L *Logger) ChangeSeverityOrder( recorder RecorderID, srcFlag MsgFlagT, dir ssDirection, trgFlag MsgFlagT, ) error
ChangeSeverityOrder changes severity order for the specified recorder. It takes specified flag and moves it before/after the target flag position.
Only custom flags can be moved (currently disabled).
func (*Logger) Close ¶
func (L *Logger) Close()
Close disconnects (sends a close signal) all registered recorders and sets the 'uninitialised' state for the logger. Meanwhile, it does not unregister (remove from the logger) recorders.
func (*Logger) DefaultsAdd ¶ added in v0.4.0
func (L *Logger) DefaultsAdd(recorders []RecorderID) error
DefaultsAdd adds given recorders into the default list of the logger.
func (*Logger) DefaultsRemove ¶ added in v0.4.0
func (L *Logger) DefaultsRemove(recorders []RecorderID) error
DefaultsRemove removes given recorders form defaults in this logger.
func (*Logger) DefaultsSet ¶ added in v0.4.0
func (L *Logger) DefaultsSet(recorders []RecorderID) error
DefaultsSet sets given recorders as default for this logger.
func (*Logger) Initialise ¶
func (L *Logger) Initialise(objects ...ListOfRecorders) error
Initialise sends an initialisation signal to each registered recorder.
func (*Logger) NumberOfRecorders ¶ added in v0.1.5
func (*Logger) RegisterRecorder ¶
func (L *Logger) RegisterRecorder( id RecorderID, intrf RecorderInterface, asDefault ...bool, ) error
RegisterRecorder registers the recorder in the logger with the given id. This function receives optional parameter 'asDefault', which says whether the need to set it as default recorder. If the optional parameter is not specified, it will have a true value.
func (*Logger) SetSeverityMask ¶
func (L *Logger) SetSeverityMask(recorder RecorderID, flags MsgFlagT) error
SetSeverityMask sets which severities allowed for the given recorder in this logger.
func (*Logger) UnregisterRecorder ¶ added in v0.2.2
func (L *Logger) UnregisterRecorder(id RecorderID) error
UnregisterRecorder disconnects specified recorder from the logger (sends a close signal) and removes recorder interface from the logger.
type MsgFlagT ¶ added in v0.2.1
type MsgFlagT uint16
MsgFlagT type represents messages bit flags for severities and attributes.
const ( Emerg MsgFlagT = 0x01 // 0000 0000 0000 0001 Alert MsgFlagT = 0x02 // 0000 0000 0000 0010 Critical MsgFlagT = 0x04 // 0000 0000 0000 0100 Error MsgFlagT = 0x08 // 0000 0000 0000 1000 Warning MsgFlagT = 0x10 // 0000 0000 0001 0000 Notice MsgFlagT = 0x20 // 0000 0000 0010 0000 Info MsgFlagT = 0x40 // 0000 0000 0100 0000 Debug MsgFlagT = 0x80 // 0000 0000 1000 0000 CustomB1 MsgFlagT = 0x1000 // 0001 0000 0000 0000 CustomB2 MsgFlagT = 0x2000 // 0010 0000 0000 0000 )
const ( SeverityAll MsgFlagT = 0x30FF // Default | Custom SeverityMajor MsgFlagT = 0x001F // Major = Emerg | Alert | Critical | Error | Warning SeverityMinor MsgFlagT = 0x00E0 // Minor = Notice | Info SeverityDefault MsgFlagT = 0x00FF // Default = Major | Minor | Debug SeverityCustom MsgFlagT = 0x3000 // Custom = CustomB1 | CustomB2 )
const AttributeShadowMask MsgFlagT = 0x30FF
bit-reset (reversed) mask for attribute flags
const SeverityShadowMask MsgFlagT = 0xCF00
bit-reset (reversed) mask for severity flags
type RecorderID ¶
type RecorderID string
RecorderID is an identifier used in Logger functions to select recorders.
type RecorderInterface ¶ added in v0.4.0
type RecorderInterface struct { ChCtl chan<- controlSignal ChMsg chan<- LogMsg // contains filtered or unexported fields }
RecorderInterface structure represents interface channels of the recorder.