xlogger

package module
v0.0.0-...-3b52952 Latest Latest
Warning

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

Go to latest
Published: Nov 6, 2020 License: BSD-2-Clause Imports: 10 Imported by: 0

README

A set of utilities for log info efficient

Documentation

Index

Constants

View Source
const (
	DefaultLoggingTimeFormat       = "Mon 02.01.2006 15:04:05.00000"
	DefaultLoggerFieldSeparator    = ","
	DefaultLoggerMessageTerminator = "\n"
	DefaultLoggerMessageSeparator  = "-> "
)
View Source
const (
	Esc                 = "\x1b"
	ColorDebug   string = Esc + "[96m"
	ColorInfo    string = Esc + "[0m"
	ColorWarning string = Esc + "[93m"
	ColorError   string = Esc + "[91m"
	ColorFatal   string = Esc + "[91m"
	ColorCrit    string = Esc + "[95m"
	ColorReset          = ColorInfo
)

Variables

This section is empty.

Functions

func Debug

func Debug(args ...interface{})

func Debugf

func Debugf(format string, args ...interface{})

func Error

func Error(args ...interface{})

func Errorf

func Errorf(format string, args ...interface{})

func Fatal

func Fatal(args ...interface{})

func Fatalf

func Fatalf(format string, args ...interface{})

func Hub

func Hub() *loggerHub

func Info

func Info(args ...interface{})

func Infof

func Infof(format string, args ...interface{})

func NewTeeLogWriter

func NewTeeLogWriter(writers ...LoggerWriter)

func Panic

func Panic(args ...interface{})

func Panicf

func Panicf(format string, args ...interface{})

func Print

func Print(args ...interface{})

func Printf

func Printf(format string, args ...interface{})

func SetLevel

func SetLevel(l LogLevel)

func SetWriter

func SetWriter(w LoggerWriter, level LogLevel)

func StripColors

func StripColors(x []byte) []byte

func Warn

func Warn(args ...interface{})

func Warnf

func Warnf(format string, args ...interface{})

func Warning

func Warning(args ...interface{})

func Warningf

func Warningf(format string, args ...interface{})

Types

type CborFormatter

type CborFormatter struct{}

func (*CborFormatter) Colorize

func (s *CborFormatter) Colorize(b bool)

func (*CborFormatter) Colorized

func (s *CborFormatter) Colorized() bool

func (*CborFormatter) FieldSeparator

func (s *CborFormatter) FieldSeparator() string

func (*CborFormatter) FormatHost

func (s *CborFormatter) FormatHost(s2 string) string

func (*CborFormatter) FormatLevel

func (s *CborFormatter) FormatLevel(level LogLevel) LevelFormat

func (*CborFormatter) FormatMessage

func (s *CborFormatter) FormatMessage(name, host, message string, t time.Time, l LogLevel) (x []byte, err error)

func (*CborFormatter) FormatName

func (s *CborFormatter) FormatName(s2 string) string

func (*CborFormatter) FormatTime

func (s *CborFormatter) FormatTime(t time.Time) string

func (*CborFormatter) MessageSeparator

func (s *CborFormatter) MessageSeparator() string

func (*CborFormatter) MessageTerminator

func (s *CborFormatter) MessageTerminator() string

func (*CborFormatter) StreamStarter

func (s *CborFormatter) StreamStarter() string

func (*CborFormatter) StreamTerminator

func (s *CborFormatter) StreamTerminator() string

type ConsoleLogWriter

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

func (*ConsoleLogWriter) Close

func (c *ConsoleLogWriter) Close() error

func (*ConsoleLogWriter) Colorize

func (c *ConsoleLogWriter) Colorize() bool

func (*ConsoleLogWriter) UseColors

func (c *ConsoleLogWriter) UseColors(should bool)

func (*ConsoleLogWriter) UseStderr

func (c *ConsoleLogWriter) UseStderr(should bool)

func (*ConsoleLogWriter) Write

func (c *ConsoleLogWriter) Write(p []byte) (n int, err error)

type DefaultFormatter

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

func (*DefaultFormatter) Colorize

func (d *DefaultFormatter) Colorize(b bool)

func (*DefaultFormatter) Colorized

func (d *DefaultFormatter) Colorized() bool

func (*DefaultFormatter) FieldSeparator

func (d *DefaultFormatter) FieldSeparator() string

func (*DefaultFormatter) FormatHost

func (d *DefaultFormatter) FormatHost(s string) string

func (*DefaultFormatter) FormatLevel

func (d *DefaultFormatter) FormatLevel(level LogLevel) (t LevelFormat)

func (*DefaultFormatter) FormatMessage

func (d *DefaultFormatter) FormatMessage(name, host, message string, t time.Time, level LogLevel) ([]byte, error)

func (*DefaultFormatter) FormatName

func (d *DefaultFormatter) FormatName(s string) string

func (*DefaultFormatter) FormatTime

func (d *DefaultFormatter) FormatTime(t time.Time) string

func (*DefaultFormatter) MessageSeparator

func (d *DefaultFormatter) MessageSeparator() string

func (*DefaultFormatter) MessageTerminator

func (d *DefaultFormatter) MessageTerminator() string

func (*DefaultFormatter) StreamStarter

func (d *DefaultFormatter) StreamStarter() string

func (*DefaultFormatter) StreamTerminator

func (d *DefaultFormatter) StreamTerminator() string

type FileLogWriter

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

func NewFileLogWriter

func NewFileLogWriter(path string, perm int) (z *FileLogWriter, err error)

func (*FileLogWriter) Close

func (f *FileLogWriter) Close() error

func (*FileLogWriter) Colorize

func (f *FileLogWriter) Colorize() bool

func (*FileLogWriter) SetCompression

func (f *FileLogWriter) SetCompression(should bool)

func (*FileLogWriter) SetNoRotation

func (f *FileLogWriter) SetNoRotation()

func (*FileLogWriter) SetRotationByDay

func (f *FileLogWriter) SetRotationByDay()

func (*FileLogWriter) SetRotationBySize

func (f *FileLogWriter) SetRotationBySize(maxSize int64)

func (*FileLogWriter) Write

func (f *FileLogWriter) Write(p []byte) (n int, err error)

type Formatter

type Formatter interface {
	StreamStarter() string
	StreamTerminator() string
	FieldSeparator() string
	MessageTerminator() string
	MessageSeparator() string
	FormatTime(time.Time) string
	FormatName(string) string
	FormatHost(string) string
	FormatMessage(name, host, message string, t time.Time, l LogLevel) ([]byte, error)
	FormatLevel(level LogLevel) LevelFormat
	Colorize(bool)
	Colorized() bool
}

type LevelFormat

type LevelFormat struct {
	LevelTag   string
	LevelColor string
}

type LogCompression

type LogCompression int
const (
	NoCompression LogCompression = iota
	CompressGzip
)

type LogLevel

type LogLevel int
const (
	LevelDebug LogLevel = iota
	LevelInfo
	LevelWarning
	LevelError
	LevelFatal
	LevelCrit
	AllLevels = 1000
)

type LogMessage

type LogMessage struct {
	Time    string   `cbor:"t" json:"t"`
	Message string   `cbor:"m" json:"m"`
	Level   LogLevel `cbor:"l" json:"l"`
	Name    string   `cbor:"n" json:"n"`
	Host    string   `cbor:"h" json:"h"`
}

func CborDecoder

func CborDecoder(src []byte) (x LogMessage, err error)

type LogMessageDecoder

type LogMessageDecoder func([]byte) (LogMessage, error)

type LogRotate

type LogRotate int
const (
	NoRotation LogRotate = iota
	RotateBySize
	RotateDaily
)

type Logger

type Logger interface {
	LogStruct(message LogMessage)
	Debugf(format string, args ...interface{})
	Infof(format string, args ...interface{})
	Printf(format string, args ...interface{})
	Warnf(format string, args ...interface{})
	Warningf(format string, args ...interface{})
	Errorf(format string, args ...interface{})
	Fatalf(format string, args ...interface{})
	Panicf(format string, args ...interface{})

	Debug(args ...interface{})
	Info(args ...interface{})
	Print(args ...interface{})
	Warn(args ...interface{})
	Warning(args ...interface{})
	Error(args ...interface{})
	Fatal(args ...interface{})
	Panic(args ...interface{})
	Close()
}

type LoggerWriter

type LoggerWriter interface {
	io.WriteCloser
	Colorize() bool
}

type MqttReceiver

type MqttReceiver struct {
	Client         mqtt.Client
	Topic          string
	Logger         Logger
	MessageDecoder LogMessageDecoder
}

func (*MqttReceiver) StartListening

func (x *MqttReceiver) StartListening(topic string)

func (*MqttReceiver) StopListening

func (x *MqttReceiver) StopListening()

type NullLoggerWriter

type NullLoggerWriter struct {
}

func (*NullLoggerWriter) Close

func (n2 *NullLoggerWriter) Close() error

func (*NullLoggerWriter) Colorize

func (n2 *NullLoggerWriter) Colorize() bool

func (*NullLoggerWriter) Write

func (n2 *NullLoggerWriter) Write(p []byte) (n int, err error)

type TeeLoggerWriter

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

func (*TeeLoggerWriter) Close

func (t *TeeLoggerWriter) Close() error

func (*TeeLoggerWriter) Colorize

func (t *TeeLoggerWriter) Colorize() (yes bool)

func (*TeeLoggerWriter) Write

func (t *TeeLoggerWriter) Write(p []byte) (n int, err error)

type XLogger

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

func Default

func Default() *XLogger

func NewXLogger

func NewXLogger(name string) *XLogger

func NewXLoggerForHost

func NewXLoggerForHost(name string, host string) *XLogger

func (*XLogger) Close

func (x *XLogger) Close()

func (*XLogger) Debug

func (x *XLogger) Debug(args ...interface{})

func (*XLogger) Debugf

func (x *XLogger) Debugf(format string, args ...interface{})

func (*XLogger) Error

func (x *XLogger) Error(args ...interface{})

func (*XLogger) Errorf

func (x *XLogger) Errorf(format string, args ...interface{})

func (*XLogger) Fatal

func (x *XLogger) Fatal(args ...interface{})

func (*XLogger) Fatalf

func (x *XLogger) Fatalf(format string, args ...interface{})

func (*XLogger) Info

func (x *XLogger) Info(args ...interface{})

func (*XLogger) Infof

func (x *XLogger) Infof(format string, args ...interface{})

func (*XLogger) LogStruct

func (x *XLogger) LogStruct(m LogMessage)

func (*XLogger) Panic

func (x *XLogger) Panic(args ...interface{})

func (*XLogger) Panicf

func (x *XLogger) Panicf(format string, args ...interface{})

func (*XLogger) Print

func (x *XLogger) Print(args ...interface{})

func (*XLogger) Printf

func (x *XLogger) Printf(format string, args ...interface{})

func (*XLogger) SetFormatter

func (x *XLogger) SetFormatter(y Formatter)

func (*XLogger) SetLevel

func (x *XLogger) SetLevel(l LogLevel)

func (*XLogger) SetWriter

func (x *XLogger) SetWriter(w LoggerWriter, level LogLevel)

func (*XLogger) Warn

func (x *XLogger) Warn(args ...interface{})

func (*XLogger) Warnf

func (x *XLogger) Warnf(format string, args ...interface{})

func (*XLogger) Warning

func (x *XLogger) Warning(args ...interface{})

func (*XLogger) Warningf

func (x *XLogger) Warningf(format string, args ...interface{})

func (*XLogger) WriterForStdLogger

func (x *XLogger) WriterForStdLogger(level LogLevel) io.Writer

special adapter for log.Logger returns writer, which actually writes to specific XLogger level it's not returning direct object from levelWriters, it creates a proxy io.Writer obj

Jump to

Keyboard shortcuts

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