Popularity
3.4
Growing
Activity
0.0
Stable
36
7
7

Programming language: Go
Tags: Logging    
Latest version: v1.1.10

logex alternatives and similar packages

Based on the "Logging" category

Do you think we are missing an alternative of logex or a related project?

Add another 'Logging' Package

README

Logex

Build Status GoDoc Join the chat at https://gitter.im/go-logex/logex

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

How To Get

shell

go get gopkg.in/logex.v1

source code

import "gopkg.in/logex.v1" // package name is logex

func main() {
  logex.Info("Hello!")
}

Level

import "gopkg.in/logex.v1"

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 "gopkg.in/logex.v1"

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 (
    "gopkg.in/logex.v1"
    "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