Documentation
¶
Index ¶
- Variables
- func Register(l *Logger)
- type BaseHandler
- type FileHandler
- type ILogger
- type Level
- type LogHandler
- type LogMessage
- func (lm *LogMessage) Debug() *LogMessage
- func (lm *LogMessage) Error() *LogMessage
- func (lm *LogMessage) Fatal() *LogMessage
- func (lm *LogMessage) Info() *LogMessage
- func (lm *LogMessage) Msg(msg string) *LogMessage
- func (lm *LogMessage) Msgf(format string, v ...any) *LogMessage
- func (lm *LogMessage) Send()
- func (lm *LogMessage) String(loggerName string) string
- func (lm *LogMessage) Warn() *LogMessage
- func (lm *LogMessage) WithCaller() *LogMessage
- func (lm *LogMessage) WithLevel(level Level) *LogMessage
- func (lm *LogMessage) WithMeta(key string, value any) *LogMessage
- func (lm *LogMessage) WithMetaf(key, format string, v ...any) *LogMessage
- func (lm *LogMessage) WithSend(send func(*LogMessage)) *LogMessage
- func (lm *LogMessage) WithTraceStack() *LogMessage
- type LogMessageMetaKV
- type Logger
- func (l *Logger) Close() error
- func (l *Logger) Debug() *LogMessage
- func (l *Logger) Error() *LogMessage
- func (l *Logger) Fatal() *LogMessage
- func (l *Logger) GetLevel() Level
- func (l *Logger) GetName() string
- func (l *Logger) Info() *LogMessage
- func (l *Logger) IsRunning() bool
- func (l *Logger) Log(level Level) *LogMessage
- func (l *Logger) SendLog(msg *LogMessage)
- func (l *Logger) SetLevel(level Level) error
- func (l *Logger) SetName(name string)
- func (l *Logger) Start() error
- func (l *Logger) Stderr(on bool)
- func (l *Logger) Stdout(on bool)
- func (l *Logger) Warn() *LogMessage
- type LoggerBuilder
- func (lb *LoggerBuilder) Build() (*Logger, error)
- func (lb *LoggerBuilder) Debug() *LoggerBuilder
- func (lb *LoggerBuilder) Error() *LoggerBuilder
- func (lb *LoggerBuilder) Info() *LoggerBuilder
- func (lb *LoggerBuilder) Name(name string) *LoggerBuilder
- func (lb *LoggerBuilder) Trace() *LoggerBuilder
- func (lb *LoggerBuilder) Warn() *LoggerBuilder
- func (lb *LoggerBuilder) WithCleanup(fns ...func()) *LoggerBuilder
- func (lb *LoggerBuilder) WithFile(path string) *LoggerBuilder
- func (lb *LoggerBuilder) WithHandlers(hs ...LogHandler) *LoggerBuilder
- func (lb *LoggerBuilder) WithLevel(level Level) *LoggerBuilder
- func (lb *LoggerBuilder) WithStderr(on bool) *LoggerBuilder
- func (lb *LoggerBuilder) WithStdout(on bool) *LoggerBuilder
- type LoggerMeta
- type WriterHandler
Constants ¶
This section is empty.
Variables ¶
View Source
var ( DefaultLogger atomic.Pointer[Logger] DefaultStdoutHandler atomic.Pointer[WriterHandler] DefaultStderrHandler atomic.Pointer[WriterHandler] ErrNotStarted = errors.New("not started") ErrAlreadyStarted = errors.New("already started") ErrInvalidLogLevel = errors.New("invalid log level") ErrMissingLogFilename = errors.New("missing log filename") ErrNoLogFileConfigured = errors.New("no log file configured") ErrFoundDirWhenExpectingFile = errors.New("found directory when expecting file") )
Functions ¶
Types ¶
type BaseHandler ¶
type BaseHandler struct {
LogHandler
}
func (*BaseHandler) FormatLog ¶
func (b *BaseHandler) FormatLog(msg *LogMessage) string
type FileHandler ¶
type FileHandler struct {
WriterHandler
// contains filtered or unexported fields
}
func NewFileHandler ¶
func NewFileHandler(path string) (*FileHandler, error)
func (*FileHandler) Close ¶
func (f *FileHandler) Close() error
func (*FileHandler) GetLogfileLocation ¶
func (f *FileHandler) GetLogfileLocation() (dir, base string)
func (*FileHandler) SetLogfileLocation ¶
func (f *FileHandler) SetLogfileLocation(dir, base string) error
func (*FileHandler) Start ¶
func (f *FileHandler) Start() error
type ILogger ¶
type ILogger interface {
Start() error
Close() error
GetName() string
SetName(name string)
GetLevel() Level
SetLevel(level Level) error
IsRunning() bool
Stdout(on bool)
Stderr(on bool)
SendLog(msg *LogMessage)
Log() *LogMessage
Debug() *LogMessage
Info() *LogMessage
Warn() *LogMessage
Error() *LogMessage
Fatal() *LogMessage
}
type LogHandler ¶
type LogHandler interface {
Handle(loggerName string, msg *LogMessage) // handles the log message
FormatLog(msg *LogMessage) string // formats the log message
Start() error // starts the handler
Close() error // closes the handler
IsRunning() bool // returns true if the handler is running
}
Loggers use LogHandlers under the hood to handle log messages
type LogMessage ¶
type LogMessage struct {
Timestamp time.Time // timestamp
Level Level // log level
Message string // log message
Meta []LogMessageMetaKV // log metadata
// contains filtered or unexported fields
}
func Debug ¶
func Debug() *LogMessage
func Error ¶
func Error() *LogMessage
func Fatal ¶
func Fatal() *LogMessage
func Info ¶
func Info() *LogMessage
func Log ¶
func Log(level Level) *LogMessage
func Warn ¶
func Warn() *LogMessage
func (*LogMessage) Debug ¶
func (lm *LogMessage) Debug() *LogMessage
func (*LogMessage) Error ¶
func (lm *LogMessage) Error() *LogMessage
func (*LogMessage) Fatal ¶
func (lm *LogMessage) Fatal() *LogMessage
func (*LogMessage) Info ¶
func (lm *LogMessage) Info() *LogMessage
func (*LogMessage) Msg ¶
func (lm *LogMessage) Msg(msg string) *LogMessage
func (*LogMessage) Msgf ¶
func (lm *LogMessage) Msgf(format string, v ...any) *LogMessage
func (*LogMessage) Send ¶
func (lm *LogMessage) Send()
func (*LogMessage) String ¶
func (lm *LogMessage) String(loggerName string) string
func (*LogMessage) Warn ¶
func (lm *LogMessage) Warn() *LogMessage
func (*LogMessage) WithCaller ¶
func (lm *LogMessage) WithCaller() *LogMessage
func (*LogMessage) WithLevel ¶
func (lm *LogMessage) WithLevel(level Level) *LogMessage
func (*LogMessage) WithMeta ¶
func (lm *LogMessage) WithMeta(key string, value any) *LogMessage
func (*LogMessage) WithMetaf ¶
func (lm *LogMessage) WithMetaf(key, format string, v ...any) *LogMessage
func (*LogMessage) WithSend ¶
func (lm *LogMessage) WithSend(send func(*LogMessage)) *LogMessage
func (*LogMessage) WithTraceStack ¶
func (lm *LogMessage) WithTraceStack() *LogMessage
type LogMessageMetaKV ¶
type LogMessageMetaKV struct {
K, V string
}
type Logger ¶
type Logger struct {
LoggerMeta
// contains filtered or unexported fields
}
func (*Logger) Debug ¶
func (l *Logger) Debug() *LogMessage
func (*Logger) Error ¶
func (l *Logger) Error() *LogMessage
func (*Logger) Fatal ¶
func (l *Logger) Fatal() *LogMessage
func (*Logger) Info ¶
func (l *Logger) Info() *LogMessage
func (*Logger) Log ¶
func (l *Logger) Log(level Level) *LogMessage
func (*Logger) SendLog ¶
func (l *Logger) SendLog(msg *LogMessage)
func (*Logger) Warn ¶
func (l *Logger) Warn() *LogMessage
type LoggerBuilder ¶
type LoggerBuilder struct {
LoggerMeta
// contains filtered or unexported fields
}
func NewLogger ¶
func NewLogger() *LoggerBuilder
func (*LoggerBuilder) Build ¶
func (lb *LoggerBuilder) Build() (*Logger, error)
func (*LoggerBuilder) Debug ¶
func (lb *LoggerBuilder) Debug() *LoggerBuilder
func (*LoggerBuilder) Error ¶
func (lb *LoggerBuilder) Error() *LoggerBuilder
func (*LoggerBuilder) Info ¶
func (lb *LoggerBuilder) Info() *LoggerBuilder
func (*LoggerBuilder) Name ¶
func (lb *LoggerBuilder) Name(name string) *LoggerBuilder
func (*LoggerBuilder) Trace ¶
func (lb *LoggerBuilder) Trace() *LoggerBuilder
func (*LoggerBuilder) Warn ¶
func (lb *LoggerBuilder) Warn() *LoggerBuilder
func (*LoggerBuilder) WithCleanup ¶
func (lb *LoggerBuilder) WithCleanup(fns ...func()) *LoggerBuilder
func (*LoggerBuilder) WithFile ¶
func (lb *LoggerBuilder) WithFile(path string) *LoggerBuilder
func (*LoggerBuilder) WithHandlers ¶
func (lb *LoggerBuilder) WithHandlers(hs ...LogHandler) *LoggerBuilder
func (*LoggerBuilder) WithLevel ¶
func (lb *LoggerBuilder) WithLevel(level Level) *LoggerBuilder
func (*LoggerBuilder) WithStderr ¶
func (lb *LoggerBuilder) WithStderr(on bool) *LoggerBuilder
func (*LoggerBuilder) WithStdout ¶
func (lb *LoggerBuilder) WithStdout(on bool) *LoggerBuilder
type LoggerMeta ¶
type LoggerMeta struct {
// contains filtered or unexported fields
}
type WriterHandler ¶
type WriterHandler struct {
BaseHandler
// contains filtered or unexported fields
}
func (*WriterHandler) Close ¶
func (w *WriterHandler) Close() error
func (*WriterHandler) Handle ¶
func (w *WriterHandler) Handle(loggerName string, msg *LogMessage)
func (*WriterHandler) IsRunning ¶
func (i *WriterHandler) IsRunning() bool
func (*WriterHandler) Start ¶
func (w *WriterHandler) Start() error
Click to show internal directories.
Click to hide internal directories.