log

package
v0.0.0-...-a95e4bc Latest Latest
Warning

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

Go to latest
Published: Jul 16, 2021 License: MIT Imports: 16 Imported by: 32

Documentation

Index

Constants

View Source
const (
	TRACE = iota
	DEBUG
	INFO
	WARN
	ERROR
	CRITICAL
	FATAL
)

log levels

Variables

This section is empty.

Functions

func Close

func Close()

Close closes all the loggers

func Critical

func Critical(skip int, format string, v ...interface{})

Critical records critical log

func Debug

func Debug(format string, v ...interface{})

Debug records debug log

func DelLogger

func DelLogger(mode string) error

DelLogger removes loggers that are for the given mode

func Error

func Error(skip int, format string, v ...interface{})

Error records error log

func Fatal

func Fatal(skip int, format string, v ...interface{})

Fatal records error log and exit process

func Info

func Info(format string, v ...interface{})

Info records info log

func NewGitLogger

func NewGitLogger(logPath string)

NewGitLogger create a logger for git FIXME: use same log level as other loggers.

func NewLogger

func NewLogger(bufLen int64, mode, config string)

NewLogger create a logger

func Register

func Register(name string, log loggerType)

Register registers given logger provider to adapters.

func Trace

func Trace(format string, v ...interface{})

Trace records trace log

func Warn

func Warn(format string, v ...interface{})

Warn records warning log

Types

type Brush

type Brush func(string) string

Brush brush type

func NewBrush

func NewBrush(color string) Brush

NewBrush create a brush according color

type ConnWriter

type ConnWriter struct {
	ReconnectOnMsg bool   `json:"reconnectOnMsg"`
	Reconnect      bool   `json:"reconnect"`
	Net            string `json:"net"`
	Addr           string `json:"addr"`
	Level          int    `json:"level"`
	// contains filtered or unexported fields
}

ConnWriter implements LoggerInterface. it writes messages in keep-live tcp connection.

func (*ConnWriter) Destroy

func (cw *ConnWriter) Destroy()

Destroy destroy connection writer and close tcp listener.

func (*ConnWriter) Flush

func (cw *ConnWriter) Flush()

Flush no things for this implementation

func (*ConnWriter) Init

func (cw *ConnWriter) Init(jsonconfig string) error

Init inits connection writer with json config. json config only need key "level".

func (*ConnWriter) WriteMsg

func (cw *ConnWriter) WriteMsg(msg string, skip, level int) error

WriteMsg writes message in connection. if connection is down, try to re-connect.

type ConsoleWriter

type ConsoleWriter struct {
	Level int `json:"level"`
	// contains filtered or unexported fields
}

ConsoleWriter implements LoggerInterface and writes messages to terminal.

func (*ConsoleWriter) Destroy

func (cw *ConsoleWriter) Destroy()

Destroy when writer is destroy

func (*ConsoleWriter) Flush

func (cw *ConsoleWriter) Flush()

Flush when log should be flushed

func (*ConsoleWriter) Init

func (cw *ConsoleWriter) Init(config string) error

Init inits connection writer with json config. json config only need key "level".

func (*ConsoleWriter) WriteMsg

func (cw *ConsoleWriter) WriteMsg(msg string, skip, level int) error

WriteMsg writes message in console. if OS is windows, ignore colors.

type FileLogWriter

type FileLogWriter struct {
	*log.Logger

	// The opened file
	Filename string `json:"filename"`

	Maxlines int `json:"maxlines"`

	// Rotate at size
	Maxsize int `json:"maxsize"`

	// Rotate daily
	Daily   bool  `json:"daily"`
	Maxdays int64 `json:"maxdays"`

	Rotate bool `json:"rotate"`

	Level int `json:"level"`
	// contains filtered or unexported fields
}

FileLogWriter implements LoggerInterface. It writes messages by lines limit, file size limit, or time frequency.

func (*FileLogWriter) Destroy

func (w *FileLogWriter) Destroy()

Destroy destroy file logger, close file writer.

func (*FileLogWriter) DoRotate

func (w *FileLogWriter) DoRotate() error

DoRotate means it need to write file in new file. new file name like xx.log.2013-01-01.2

func (*FileLogWriter) Flush

func (w *FileLogWriter) Flush()

Flush flush file logger. there are no buffering messages in file logger in memory. flush file means sync file from disk.

func (*FileLogWriter) Init

func (w *FileLogWriter) Init(config string) error

Init file logger with json config. config like:

{
"filename":"log/gogs.log",
"maxlines":10000,
"maxsize":1<<30,
"daily":true,
"maxdays":15,
"rotate":true
}

func (*FileLogWriter) StartLogger

func (w *FileLogWriter) StartLogger() error

StartLogger start file logger. create log file and set to locker-inside file writer.

func (*FileLogWriter) WriteMsg

func (w *FileLogWriter) WriteMsg(msg string, skip, level int) error

WriteMsg writes logger message into file.

type Logger

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

Logger is default logger in beego application. it can contain several providers and log message into all providers.

var (

	// GitLogger logger for git
	GitLogger *Logger
)

func (*Logger) Close

func (l *Logger) Close()

Close closes logger, flush all chan data and destroy all adapter instances.

func (*Logger) Critical

func (l *Logger) Critical(skip int, format string, v ...interface{})

Critical records critical log

func (*Logger) Debug

func (l *Logger) Debug(format string, v ...interface{})

Debug records debug log

func (*Logger) DelLogger

func (l *Logger) DelLogger(adapter string) error

DelLogger removes a logger adapter instance.

func (*Logger) Error

func (l *Logger) Error(skip int, format string, v ...interface{})

Error records error log

func (*Logger) Fatal

func (l *Logger) Fatal(skip int, format string, v ...interface{})

Fatal records error log and exit the process

func (*Logger) Flush

func (l *Logger) Flush()

Flush flushes all chan data.

func (*Logger) Info

func (l *Logger) Info(format string, v ...interface{})

Info records information log

func (*Logger) SetLogger

func (l *Logger) SetLogger(adapter string, config string) error

SetLogger sets new logger instance with given logger adapter and config.

func (*Logger) StartLogger

func (l *Logger) StartLogger()

StartLogger starts logger chan reading.

func (*Logger) Trace

func (l *Logger) Trace(format string, v ...interface{})

Trace records trace log

func (*Logger) Warn

func (l *Logger) Warn(format string, v ...interface{})

Warn records warning log

type LoggerInterface

type LoggerInterface interface {
	Init(config string) error
	WriteMsg(msg string, skip, level int) error
	Destroy()
	Flush()
}

LoggerInterface represents behaviors of a logger provider.

func NewConn

func NewConn() LoggerInterface

NewConn creates new ConnWrite returning as LoggerInterface.

func NewConsole

func NewConsole() LoggerInterface

NewConsole create ConsoleWriter returning as LoggerInterface.

func NewFileWriter

func NewFileWriter() LoggerInterface

NewFileWriter create a FileLogWriter returning as LoggerInterface.

func NewSMTPWriter

func NewSMTPWriter() LoggerInterface

NewSMTPWriter creates smtp writer.

type MuxWriter

type MuxWriter struct {
	sync.Mutex
	// contains filtered or unexported fields
}

MuxWriter an *os.File writer with locker.

func (*MuxWriter) SetFd

func (l *MuxWriter) SetFd(fd *os.File)

SetFd sets os.File in writer.

func (*MuxWriter) Write

func (l *MuxWriter) Write(b []byte) (int, error)

Write writes to os.File.

type SMTPWriter

type SMTPWriter struct {
	Username           string   `json:"Username"`
	Password           string   `json:"password"`
	Host               string   `json:"Host"`
	Subject            string   `json:"subject"`
	RecipientAddresses []string `json:"sendTos"`
	Level              int      `json:"level"`
}

SMTPWriter implements LoggerInterface and is used to send emails via given SMTP-server.

func (*SMTPWriter) Destroy

func (sw *SMTPWriter) Destroy()

Destroy when writer is destroy

func (*SMTPWriter) Flush

func (sw *SMTPWriter) Flush()

Flush when log should be flushed

func (*SMTPWriter) Init

func (sw *SMTPWriter) Init(jsonconfig string) error

Init smtp writer with json config. config like:

{
	"Username":"example@gmail.com",
	"password:"password",
	"host":"smtp.gmail.com:465",
	"subject":"email title",
	"sendTos":["email1","email2"],
	"level":LevelError
}

func (*SMTPWriter) WriteMsg

func (sw *SMTPWriter) WriteMsg(msg string, skip, level int) error

WriteMsg writes message in smtp writer. it will send an email with subject and only this message.

Jump to

Keyboard shortcuts

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