modulepackage
0.0.0-20200309073155-ce11556f390e
Repository: https://github.com/yusank/klyn-log.git
Documentation: pkg.go.dev
# README
klyn-log
klyn-log is structured, persistent logging for Go.
how to use
import(
klog "git.yusank.cn/yusank/klyn-log"
)
var logger klog.Logger
func main() {
// default
logger = klog.DefaultLogger()
// or
conf := &klog.LoggerConfig{
// custom
}
logger = klog.NewLogger(conf)
logger.Warn(map[string]interface{}{
"name": "hello world",
"userId": 1234,
"event": map[string]interface{}{
"gameId": "dddjs",
},
})
}
before install
- go > 1.7
how to install
$ go get git.yusank.cn/yusank/klyn-log
testing
test with three mode, ...Mode1
:FlushModeEveryLog
,...Mode2
:FlushModeByDuration
,...Mode3
:FlushModeBySize
-8
means run on 8 core cpu machine
result:
$ go test -bench=. -run=^$
goos: darwin
goarch: amd64
pkg: git.yusank.cn/yusank/klyn-log
BenchmarkNewLoggerMode1-8 200000 8799 ns/op
BenchmarkNewLoggerMode2-8 1000000 1912 ns/op
BenchmarkNewLoggerMode3-8 1000000 1853 ns/op
PASS
ok git.yusank.cn/yusank/klyn-log 5.681s
suggest use mode 2 or 3 for now .
Authors
license
# Packages
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
# Constants
LoggerLevelDebug - log debug level.
LoggerLevelError - log error level.
LoggerLevelFatal - log fatal level.
LoggerLevelInfo - log info level.
LoggerLevelTrace - log trace level.
LoggerLevelWarn - log warn level.
# Interfaces
Logger provide leveled log.