logex
Golang log lib, supports tracking and level, wrap by standard log lib
About logex
Logex
An golang log lib, supports tracing and level, wrap by standard log lib
How To Get
shell
go get github.com/chzyer/logex
source code
import "github.com/chzyer/logex" // package name is logex
func main() {
logex.Info("Hello!")
}
Level
import "github.com/chzyer/logex"
func main() {
logex.Println("")
logex.Debug("debug staff.") // Only show if has an "DEBUG" named env variable(whatever value).
logex.Info("info")
logex.Warn("")
logex.Fatal("") // also trigger exec "os.Exit(1)"
logex.Error(err) // print error
logex.Struct(obj) // print objs follow such layout "%T(%+v)"
logex.Pretty(obj) // print objs as JSON-style, more readable and hide non-publish properties, just JSON
}
Extendability
source code
type MyStruct struct {
BiteMe bool
}
may change to
type MyStruct struct {
BiteMe bool
logex.Logger // just this
}
func main() {
ms := new(MyStruct)
ms.Info("woo!")
}
Runtime Tracing
All log will attach theirs stack info. Stack Info will shown by an layout, {packageName}.{FuncName}:{FileName}:{FileLine}
package main
import "github.com/chzyer/logex"
func test() {
logex.Pretty("hello")
}
func main() {
test()
}
response
2014/10/10 15:17:14 [main.test:testlog.go:6][PRETTY] "hello"
Error Tracing
You can trace an error if you want.
package main
import (
"github.com/chzyer/logex"
"os"
)
func openfile() (*os.File, error) {
f, err := os.Open("xxx")
if err != nil {
err = logex.Trace(err)
}
return f, err
}
func test() error {
f, err := openfile()
if err != nil {
return logex.Trace(err)
}
f.Close()
return nil
}
func main() {
err := test()
if err != nil {
logex.Error(err)
return
}
logex.Info("test success")
}
response
2014/10/10 15:22:29 [main.main:testlog.go:28][ERROR] [main.openfile:11;main.test:19] open xxx: no such file or directory
Frequently Asked Questions
What is logex?
logex is a Logging library for the Go programming language. Golang log lib, supports tracking and level, wrap by standard log lib
How do I install logex?
Install logex with the Go module system using `go get chzyer/logex`. Check the repository for the current installation instructions.
What category does logex belong to?
logex is listed under Logging, specifically Logging.