- Notifications
You must be signed in to change notification settings - Fork1
Structured key-value logger without breaking order of fields. 🔧
License
reconquest/cog
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Package provides to structured log both for displaying it sanely in the stderrlogs as well as sending key-valued logs into any log storage such as ElasticSearch.
To setup basic stderr logging, use following snippet in yourmain.go
:
import"github.com/reconquest/cog"// ...stderr:=lorg.NewLog()stderr.SetIndentLines(true)stderr.SetFormat(lorg.NewFormat("${time} ${level:[%s]:right:short} ${prefix}%s"),)ifargs["--debug"].(bool) {stderr.SetLevel(lorg.LevelDebug)}log=cog.NewLogger(stderr)// use like thatlog.Infof(nil,"message to log: %d",1)log.Infof(karma.Describe("key","value"),"message to log: %d",1)err:=errors.New("some error")log.Fatalf(karma.Describe("context","testing error").Reason(err),"message to log: %d",1,)
To see more examples of how to usekarma
for structured logging and errorreporting, considerlooking at tests and examples.
Following package offers significant improvements abovelogrus
and similarstructured loggers:
- Readable tree-like log entries in stderr, which makes easy to debug program,because log is more readable.
- Allows to use context errors, that used to describe errors on all call-stacklevels to ease finding problems and fixing them.
- Sends logs to ES in key-value format like other structured loggers.
- Does not change ordering of key-values in the context.
This project is licensed under the terms of the MIT license.
About
Structured key-value logger without breaking order of fields. 🔧
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Releases
Packages0
Uh oh!
There was an error while loading.Please reload this page.
Contributors3
Uh oh!
There was an error while loading.Please reload this page.