Skip to content

An golang log lib, supports tracking and level, wrap by standard log lib

License

Notifications You must be signed in to change notification settings

chzyer/logex

Repository files navigation

Logex

Build StatusGoDoc

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 

About

An golang log lib, supports tracking and level, wrap by standard log lib

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •