提供日志等级类型,修正帮助说明。
Signed-off-by: rick.chan <cy@haoan119.com>
This commit is contained in:
parent
cb55fecbc6
commit
f82e6db6f8
41
README.md
41
README.md
@ -1,3 +1,44 @@
|
||||
# Simple Log
|
||||
|
||||
A very simple log system(golang).
|
||||
|
||||
## Install
|
||||
|
||||
```bash
|
||||
go get github.com/lion187chen/simplelog
|
||||
```
|
||||
|
||||
## Demo
|
||||
|
||||
```go
|
||||
package main
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
"github.com/lion187chen/simplelog"
|
||||
)
|
||||
|
||||
func CreateLog(file string, LogLevel simplelog.LogLevel) *simplelog.SimpleLog {
|
||||
switch file {
|
||||
case "":
|
||||
return new(simplelog.SimpleLog).InitStd(LogLevel, simplelog.Ltime|simplelog.Lfile|simplelog.Llevel)
|
||||
default:
|
||||
return new(simplelog.SimpleLog).InitRotating(file, 1024*10, 10, LogLevel)
|
||||
}
|
||||
}
|
||||
|
||||
func main() {
|
||||
log := CreateLog("./log/MS.log", simplelog.LevelInfo)
|
||||
for i := 0; i < 10000000; i++ {
|
||||
log.Trace("hello world")
|
||||
log.Debug("hello world")
|
||||
log.Info("hello world")
|
||||
log.Warn("hello world")
|
||||
log.Error("hello world")
|
||||
log.Fatal("hello world")
|
||||
time.Sleep(8 * time.Millisecond)
|
||||
}
|
||||
}
|
||||
|
||||
```
|
||||
|
18
demo/main.go
18
demo/main.go
@ -6,12 +6,24 @@ import (
|
||||
"github.com/lion187chen/simplelog"
|
||||
)
|
||||
|
||||
var sl *simplelog.SimpleLog
|
||||
func CreateLog(file string, LogLevel simplelog.LogLevel) *simplelog.SimpleLog {
|
||||
switch file {
|
||||
case "":
|
||||
return new(simplelog.SimpleLog).InitStd(LogLevel, simplelog.Ltime|simplelog.Lfile|simplelog.Llevel)
|
||||
default:
|
||||
return new(simplelog.SimpleLog).InitRotating(file, 1024*10, 10, LogLevel)
|
||||
}
|
||||
}
|
||||
|
||||
func main() {
|
||||
sl = new(simplelog.SimpleLog).InitRotating("./log/MS.log", 1024*10, 10, simplelog.LevelTrace)
|
||||
log := CreateLog("./log/MS.log", simplelog.LevelInfo)
|
||||
for i := 0; i < 10000000; i++ {
|
||||
sl.Debug("hello world")
|
||||
log.Trace("hello world")
|
||||
log.Debug("hello world")
|
||||
log.Info("hello world")
|
||||
log.Warn("hello world")
|
||||
log.Error("hello world")
|
||||
log.Fatal("hello world")
|
||||
time.Sleep(8 * time.Millisecond)
|
||||
}
|
||||
}
|
||||
|
24
simplelog.go
24
simplelog.go
@ -28,9 +28,11 @@ import (
|
||||
"time"
|
||||
)
|
||||
|
||||
type LogLevel int
|
||||
|
||||
// log level, from low to high, more higher means more serious
|
||||
const (
|
||||
LevelTrace = iota
|
||||
LevelTrace LogLevel = iota
|
||||
LevelDebug
|
||||
LevelInfo
|
||||
LevelWarn
|
||||
@ -91,8 +93,8 @@ type SimpleLog struct {
|
||||
// log.Lfile
|
||||
// log.Llevel
|
||||
// 的组合
|
||||
func (l *SimpleLog) Init(handler StreamHandler, level, flag int) *SimpleLog {
|
||||
l.level.Set(level)
|
||||
func (l *SimpleLog) Init(handler StreamHandler, level LogLevel, flag int) *SimpleLog {
|
||||
l.level.Set(int(level))
|
||||
l.handler = handler
|
||||
|
||||
l.flag = flag
|
||||
@ -103,7 +105,7 @@ func (l *SimpleLog) Init(handler StreamHandler, level, flag int) *SimpleLog {
|
||||
return l
|
||||
}
|
||||
|
||||
func (l *SimpleLog) InitStd(level, flag int) *SimpleLog {
|
||||
func (l *SimpleLog) InitStd(level LogLevel, flag int) *SimpleLog {
|
||||
handler, e := NewStreamHandle(os.Stdout)
|
||||
if e != nil {
|
||||
panic(e)
|
||||
@ -112,7 +114,7 @@ func (l *SimpleLog) InitStd(level, flag int) *SimpleLog {
|
||||
return l.Init(handler, level, flag)
|
||||
}
|
||||
|
||||
func (l *SimpleLog) InitFile(name string, level, flag int) *SimpleLog {
|
||||
func (l *SimpleLog) InitFile(name string, level LogLevel, flag int) *SimpleLog {
|
||||
handler, e := new(FileHandler).InitFile(name)
|
||||
if e != nil {
|
||||
panic(e)
|
||||
@ -121,7 +123,7 @@ func (l *SimpleLog) InitFile(name string, level, flag int) *SimpleLog {
|
||||
return l.Init(handler, level, flag)
|
||||
}
|
||||
|
||||
func (l *SimpleLog) InitRotating(name string, maxBytes, backupCount, level int) *SimpleLog {
|
||||
func (l *SimpleLog) InitRotating(name string, maxBytes, backupCount int, level LogLevel) *SimpleLog {
|
||||
handler, e := new(RotatingFileHandler).InitRotating(name, maxBytes, backupCount)
|
||||
if e != nil {
|
||||
panic(e)
|
||||
@ -130,7 +132,7 @@ func (l *SimpleLog) InitRotating(name string, maxBytes, backupCount, level int)
|
||||
return l.Init(handler, level, Ltime|Lfile|Llevel)
|
||||
}
|
||||
|
||||
func (l *SimpleLog) InitTimedRotating(name string, when int8, interval, level int) *SimpleLog {
|
||||
func (l *SimpleLog) InitTimedRotating(name string, when int8, interval int, level LogLevel) *SimpleLog {
|
||||
handler, e := new(TimedRotatingFileHandler).InitTimedRotating(name, when, interval)
|
||||
if e != nil {
|
||||
panic(e)
|
||||
@ -172,8 +174,8 @@ func (l *SimpleLog) Close() {
|
||||
}
|
||||
|
||||
// set log level, any log level less than it will not log
|
||||
func (l *SimpleLog) SetLevel(level int) {
|
||||
l.level.Set(level)
|
||||
func (l *SimpleLog) SetLevel(level LogLevel) {
|
||||
l.level.Set(int(level))
|
||||
}
|
||||
|
||||
// name can be in ["trace", "debug", "info", "warn", "error", "fatal"]
|
||||
@ -208,13 +210,13 @@ func (l *SimpleLog) SetHandler(h StreamHandler) {
|
||||
l.hMutex.Unlock()
|
||||
}
|
||||
|
||||
func (l *SimpleLog) Output(callDepth int, level int, format string, v ...interface{}) {
|
||||
func (l *SimpleLog) Output(callDepth int, level LogLevel, format string, v ...interface{}) {
|
||||
if l.closed.Get() == 1 {
|
||||
// closed
|
||||
return
|
||||
}
|
||||
|
||||
if l.level.Get() > level {
|
||||
if l.level.Get() > int(level) {
|
||||
// higher level can be logged
|
||||
return
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user