tianxiaoliang / seclog

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

seclog

A secure log tool fo go

Usage

Create logger

seclog.Init(seclog.Config{
        LoggerLevel:   loggerLevel,
        LoggerFile:    loggerFile,
        LogFormatText:  false,
})

logger := seclog.NewLogger(component)
  • LoggerLevel: 日志级别由低到高分别为 DEBUG, INFO, WARN, ERROR, FATAL 共5个级别,这里设置的级别是日志输出的最低级别,只有不低于该级别的日志才会输出
  • LoggerFile: 输出日志的文件名,为空则输出到 os.Stdout
  • LogFormatText: 设定日志的输出格式是 json 还是 plaintext

Create logger with multiple sinker

	seclog.Init(seclog.Config{
		LoggerLevel:   "DEBUG",
		LoggerFile:    "test.log",
		EnableRsyslog: false,
		LogFormatText: false,
		Writers:       []string{"file", "stdout"},
	})

	logger := seclog.NewLogger("example")

Run log rotate

rotate.RunLogRotate("test.log", &rotate.RotateConfig{}, logger)

Custom your own sinker

type w struct {
}

func (w *w) Write(p []byte) (n int, err error) {
	fmt.Print("fake")
	return 0, nil
}
func main() {
	seclog.RegisterWriter("test", &w{})
}

See Examples

Change log level on-fly

l.SetLogLevel(lager.ERROR)

About

License:Apache License 2.0


Languages

Language:Go 93.0%Language:Shell 7.0%