Documentation ¶
Index ¶
- Constants
- func Register(name string, log loggerType)
- type AccessLogWriter
- type AccessMuxWriter
- type Brush
- type ConnWriter
- type ConsoleWriter
- type FileLogWriter
- type LoggerInterface
- type MuxWriter
- type OLogger
- func (ol *OLogger) Access(msg string)
- func (bl *OLogger) Close()
- func (bl *OLogger) Critical(format string, v ...interface{})
- func (bl *OLogger) Debug(format string, v ...interface{})
- func (bl *OLogger) DelLogger(adaptername string) error
- func (bl *OLogger) EnableFuncCallDepth(b bool)
- func (bl *OLogger) Error(format string, v ...interface{})
- func (bl *OLogger) Flush()
- func (bl *OLogger) Info(format string, v ...interface{})
- func (ol *OLogger) Log(tag, format string, v ...interface{})
- func (bl *OLogger) Printf(format string, v ...interface{})
- func (bl *OLogger) SetLevel(l int)
- func (bl *OLogger) SetLogFuncCallDepth(d int)
- func (bl *OLogger) SetLogger(adaptername string, config string) error
- func (bl *OLogger) SetPrefix(p string)
- func (bl *OLogger) Trace(format string, v ...interface{})
- func (bl *OLogger) Warn(format string, v ...interface{})
- func (bl *OLogger) WirteRightNow(msg string, level int)
- type SmtpWriter
Constants ¶
const ( // log message levels LevelTrace = iota LevelDebug LevelInfo LevelWarn LevelError LevelCritical )
Variables ¶
This section is empty.
Functions ¶
Types ¶
type AccessLogWriter ¶
type AccessLogWriter struct { *log.Logger // The opened file Filename string `json:"filename"` // Rotate at size Maxsize int `json:"maxsize"` // Rotate daily Daily bool `json:"daily"` Maxdays int64 `json:"maxdays` Rotate bool `json:"rotate"` MaxRotate int `json:"maxrotate"` Level int `json:"level"` // contains filtered or unexported fields }
AccessLogWriter implements LoggerInterface. It writes messages by lines limit, file size limit, or time frequency.
func (*AccessLogWriter) Destroy ¶
func (w *AccessLogWriter) Destroy()
destroy file logger, close file writer.
func (*AccessLogWriter) DoRotate ¶
func (w *AccessLogWriter) DoRotate() error
DoRotate means it need to write file in new file. new file name like xx.log.2013-01-01.2
func (*AccessLogWriter) Flush ¶
func (w *AccessLogWriter) Flush()
flush file logger. there are no buffering messages in file logger in memory. flush file means sync file from disk.
func (*AccessLogWriter) Init ¶
func (w *AccessLogWriter) Init(jsonconfig string) error
Init file logger with json config. jsonconfig like:
{ "filename":"logs/access.log", "maxsize":1<<30, "daily":true, "maxdays":15, "rotate":true }
type AccessMuxWriter ¶
an *os.File writer with locker.
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 (c *ConnWriter) Destroy()
destroy connection writer and close tcp listener.
func (*ConnWriter) Init ¶
func (c *ConnWriter) Init(jsonconfig string) error
init connection writer with json config. json config only need key "level".
type ConsoleWriter ¶
type ConsoleWriter struct { Level int `json:"level"` // contains filtered or unexported fields }
ConsoleWriter implements LoggerInterface and writes messages to terminal.
func (*ConsoleWriter) Init ¶
func (c *ConsoleWriter) Init(jsonconfig string) error
init console logger. jsonconfig like '{"level":LevelTrace}'.
type FileLogWriter ¶
type FileLogWriter struct { *log.Logger // The opened file Filename string `json:"filename"` // 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 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 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(jsonconfig string) error
Init file logger with json config. jsonconfig like:
{ "filename":"logs/beego.log", "maxlines":10000, "maxsize":1<<30, "daily":true, "maxdays":15, "rotate":true }
type LoggerInterface ¶
type LoggerInterface interface { Init(config string) error WriteMsg(msg string, level int) error Destroy() Flush() }
LoggerInterface defines the behavior of a log provider.
func NewAccessWriter ¶
func NewAccessWriter() LoggerInterface
create a AccessLogWriter returning as LoggerInterface.
func NewConsole ¶
func NewConsole() LoggerInterface
create ConsoleWriter returning as LoggerInterface.
func NewFileWriter ¶
func NewFileWriter() LoggerInterface
create a FileLogWriter returning as LoggerInterface.
type OLogger ¶
type OLogger struct {
// contains filtered or unexported fields
}
func NewLogger ¶
NewLogger returns a new OLogger. channellen means the number of messages in chan. if the buffering chan is full, logger adapters write to file or other way.
func (*OLogger) Close ¶
func (bl *OLogger) Close()
close logger, flush all chan data and destroy all adapters in OLogger.
func (*OLogger) EnableFuncCallDepth ¶
enable log funcCallDepth
func (*OLogger) SetLevel ¶
set log message level. if message level (such as LevelTrace) is less than logger level (such as LevelWarn), ignore message.
func (*OLogger) SetLogFuncCallDepth ¶
set log funcCallDepth
func (*OLogger) SetLogger ¶
SetLogger provides a given logger adapter into OLogger with config string. config need to be correct JSON as string: {"interval":360}.
func (*OLogger) WirteRightNow ¶
outputs directly.
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) Init ¶
func (s *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 }