Documentation ¶
Index ¶
- Constants
- func Close()
- func Critical(skip int, format string, v ...interface{})
- func Debug(format string, v ...interface{})
- func Error(skip int, format string, v ...interface{})
- func Fatal(skip int, format string, v ...interface{})
- func Info(format string, v ...interface{})
- func NewGitLogger(logPath string)
- func NewLogger(bufLen int64, mode, config string)
- func Register(name string, log loggerType)
- func Trace(format string, v ...interface{})
- func Warn(format string, v ...interface{})
- type Brush
- type ConnWriter
- type ConsoleWriter
- type FileLogWriter
- type LogLevel
- type Logger
- func (l *Logger) Close()
- func (l *Logger) Critical(skip int, format string, v ...interface{})
- func (l *Logger) Debug(format string, v ...interface{})
- func (l *Logger) DelLogger(adapter string) error
- func (l *Logger) Error(skip int, format string, v ...interface{})
- func (l *Logger) Fatal(skip int, format string, v ...interface{})
- func (l *Logger) Flush()
- func (l *Logger) Info(format string, v ...interface{})
- func (l *Logger) SetLogger(adapter string, config string) error
- func (l *Logger) StartLogger()
- func (l *Logger) Trace(format string, v ...interface{})
- func (l *Logger) Warn(format string, v ...interface{})
- type LoggerInterface
- type MuxWriter
- type SmtpWriter
Constants ¶
const ( TRACE = iota DEBUG INFO WARN ERROR CRITICAL FATAL )
Variables ¶
This section is empty.
Functions ¶
func NewGitLogger ¶ added in v0.5.0
func NewGitLogger(logPath string)
FIXME: use same log level as other loggers.
Types ¶
type ConnWriter ¶ added in v0.5.0
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 ¶ added in v0.5.0
func (cw *ConnWriter) Destroy()
destroy connection writer and close tcp listener.
func (*ConnWriter) Flush ¶ added in v0.5.0
func (_ *ConnWriter) Flush()
func (*ConnWriter) Init ¶ added in v0.5.0
func (cw *ConnWriter) Init(jsonconfig string) error
init connection writer with json config. json config only need key "level".
type ConsoleWriter ¶ added in v0.5.0
type ConsoleWriter struct { Level int `json:"level"` // contains filtered or unexported fields }
ConsoleWriter implements LoggerInterface and writes messages to terminal.
func (*ConsoleWriter) Destroy ¶ added in v0.5.0
func (_ *ConsoleWriter) Destroy()
func (*ConsoleWriter) Flush ¶ added in v0.5.0
func (_ *ConsoleWriter) Flush()
func (*ConsoleWriter) Init ¶ added in v0.5.0
func (cw *ConsoleWriter) Init(config string) error
type FileLogWriter ¶ added in v0.5.0
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 ¶ added in v0.5.0
func (w *FileLogWriter) Destroy()
destroy file logger, close file writer.
func (*FileLogWriter) DoRotate ¶ added in v0.5.0
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 ¶ added in v0.5.0
func (w *FileLogWriter) Flush()
flush file logger. there are no buffering messages in file logger in memory. flush file means sync file from disk.
func (*FileLogWriter) Init ¶ added in v0.5.0
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 ¶ added in v0.5.0
func (w *FileLogWriter) StartLogger() error
start file logger. create log file and set to locker-inside file writer.
type Logger ¶ added in v0.5.0
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
)
func (*Logger) Close ¶ added in v0.5.0
func (l *Logger) Close()
Close closes logger, flush all chan data and destroy all adapter instances.
func (*Logger) SetLogger ¶ added in v0.5.0
SetLogger sets new logger instance with given logger adapter and config.
func (*Logger) StartLogger ¶ added in v0.5.0
func (l *Logger) StartLogger()
StartLogger starts logger chan reading.
type LoggerInterface ¶ added in v0.5.0
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 ¶ added in v0.5.0
func NewConn() LoggerInterface
create new ConnWrite returning as LoggerInterface.
func NewConsole ¶ added in v0.5.0
func NewConsole() LoggerInterface
create ConsoleWriter returning as LoggerInterface.
func NewFileWriter ¶ added in v0.5.0
func NewFileWriter() LoggerInterface
create a FileLogWriter returning as LoggerInterface.
type MuxWriter ¶ added in v0.5.0
an *os.File writer with locker.
type SmtpWriter ¶ added in v0.5.0
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 ¶ added in v0.5.0
func (_ *SmtpWriter) Destroy()
func (*SmtpWriter) Flush ¶ added in v0.5.0
func (_ *SmtpWriter) Flush()
func (*SmtpWriter) Init ¶ added in v0.5.0
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 }