Documentation ¶
Overview ¶
A logger package that compatible with sdk log package. It supports level logging and file auto rotating.
It also has a predefined 'standard' Logger called StdLogger accessible through helper functions Debug[f], Info[f], Warn[f], Error[f], LogLevel and SetJack.
It supports 4 level:
LevelError = iota LevelWarning LevelInformational LevelDebug
You can use LogLevel to handle the log level.
File rotating based on package gopkg.in/natefinch/lumberjack.v2, you can control file settings by using SetJack.
Quick start ¶
Use StdLogger:
import "github.com/mnhkahn/gogogo/logger" logger.Info("hello, world.")
Defined our own logger:
l := logger.NewWriterLogger(w, flag, 3) l.Info("hello, world")
Log flags compatible with sdk log package, https://golang.org/pkg/log/#pkg-constants.
See also ¶
For more information, goto godoc https://godoc.org/github.com/mnhkahn/gogogo/logger
Chinese details, goto http://blog.cyeam.com//golang/2017/07/14/go-log?utm_source=github
Example ¶
package main import ( "github.com/mnhkahn/gogogo/logger" ) func main() { logger.Info("hello, world.") }
Output:
Index ¶
- Constants
- Variables
- func Debug(v ...interface{})
- func Debugf(format string, v ...interface{})
- func Error(v ...interface{})
- func Errorf(format string, v ...interface{})
- func GenerateFmtStr(n int) string
- func Info(v ...interface{})
- func Infof(format string, v ...interface{})
- func LogLevel(logLevel string) string
- func SetJack(lfn string, maxsize int)
- func Warn(v ...interface{})
- func Warnf(format string, v ...interface{})
- type Logger
- func NewFileLogger(lfn string, maxsize int, flag int, depth int) *Logger
- func NewLogger(flag int, depth int) *Logger
- func NewLogger2(lfn string, maxsize int, flag int, numWorkers int, jobQueueLen int, depth int) *Logger
- func NewLogger3(w io.Writer, flag int, numWorkers int, jobQueueLen int, depth int) *Logger
- func NewWriterLogger(w io.Writer, flag int, depth int) *Logger
- func (ll *Logger) Debug(format string, v ...interface{})
- func (ll *Logger) Error(format string, v ...interface{})
- func (ll *Logger) GetLevel() string
- func (ll *Logger) Info(format string, v ...interface{})
- func (ll *Logger) SetFlag(flag int)
- func (ll *Logger) SetJack(lfn string, maxsize int)
- func (ll *Logger) SetLevel(l int) int
- func (ll *Logger) SetPrefix(prefix string)
- func (ll *Logger) Warn(format string, v ...interface{})
Examples ¶
Constants ¶
const ( LevelError = iota LevelWarning LevelInformational LevelDebug )
logger supports 4 levels. Default level is LevelInformational.
Variables ¶
var (
StdLogger = NewLogger(log.LstdFlags|log.Lshortfile, 3)
)
StdLogger is a predefined logger prints to stdout.
Functions ¶
func GenerateFmtStr ¶
GenerateFmtStr is a helper function to construct formatter string.
Types ¶
type Logger ¶
type Logger struct {
// contains filtered or unexported fields
}
Logger ...
func NewFileLogger ¶ added in v1.0.3
NewFileLogger makes a new file logger, it prints to file lfn. File will auto rotate by size maxsize. maxsize is the maximum size in megabytes of the log file
func NewLogger ¶
NewLogger makes a new logger prints to stdout.
Example ¶
package main import ( "github.com/mnhkahn/gogogo/logger" "log" "os" ) func main() { w := os.Stdout flag := log.Llongfile l := logger.NewWriterLogger(w, flag, 3) l.Info("hello, world") }
Output:
func NewLogger2 ¶
func NewLogger2(lfn string, maxsize int, flag int, numWorkers int, jobQueueLen int, depth int) *Logger
Deprecated NewLogger2 use NewFileLogger instead.
func NewLogger3 ¶
Deprecated NewLogger3 use NewWriterLogger instead.
func NewWriterLogger ¶ added in v1.0.3
NewWriterLogger makes a new writer file, it prints to writer.
func (*Logger) SetFlag ¶
SetFlag sets log flags. For more information, see the sdk https://golang.org/pkg/log/#pkg-constants.