Categorygithub.com/yusank/klyn-log
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

MIT 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

# Functions

DefaultLogger - get default logger.
NewLogger return Logger.

# 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.

# Structs

KlynLog - implement Logger and provide cache.
LoggerConfig - logger config.

# Interfaces

Logger provide leveled log.

# Type aliases

Level - log level.
No description provided by the author