• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

.travis.ymlH A D10-Oct-201513

MakefileH A D10-Oct-201552

README.mdH A D10-Oct-20152.3 KiB

err.goH A D10-Oct-20153 KiB

err_test.goH A D10-Oct-2015518

logex.goH A D10-Oct-20155.1 KiB

logex_test.goH A D10-Oct-20151 KiB

README.md

1Logex
2=======
3[![Build Status](https://travis-ci.org/go-logex/logex.svg?branch=master)](https://travis-ci.org/go-logex/logex)
4[![GoDoc](https://godoc.org/gopkg.in/logex.v1?status.svg)](https://godoc.org/gopkg.in/logex.v1)
5[![Join the chat at https://gitter.im/go-logex/logex](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/go-logex/logex?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
6
7An golang log lib, supports tracing and level, wrap by standard log lib
8
9How To Get
10=======
11shell
12```
13go get gopkg.in/logex.v1
14```
15
16source code
17```{go}
18import "gopkg.in/logex.v1" // package name is logex
19
20func main() {
21  logex.Info("Hello!")
22}
23```
24
25Level
26=======
27
28```{go}
29import "gopkg.in/logex.v1"
30
31func main() {
32  logex.Println("")
33  logex.Debug("debug staff.") // Only show if has an "DEBUG" named env variable(whatever value).
34  logex.Info("info")
35  logex.Warn("")
36  logex.Fatal("") // also trigger exec "os.Exit(1)"
37  logex.Error(err) // print error
38  logex.Struct(obj) // print objs follow such layout "%T(%+v)"
39  logex.Pretty(obj) // print objs as JSON-style, more readable and hide non-publish properties, just JSON
40}
41```
42
43Extendability
44======
45
46source code
47```{go}
48type MyStruct struct {
49  BiteMe bool
50}
51```
52
53may change to
54
55```{go}
56type MyStruct struct {
57  BiteMe bool
58  logex.Logger // just this
59}
60
61func main() {
62  ms := new(MyStruct)
63  ms.Info("woo!")
64}
65```
66
67Runtime Tracing
68======
69All log will attach theirs stack info. Stack Info will shown by an layout, `{packageName}.{FuncName}:{FileName}:{FileLine}`
70
71```{go}
72package main
73
74import "gopkg.in/logex.v1"
75
76func test() {
77	logex.Pretty("hello")
78}
79
80func main() {
81	test()
82}
83```
84
85response
86```
872014/10/10 15:17:14 [main.test:testlog.go:6][PRETTY] "hello"
88```
89
90Error Tracing
91======
92You can trace an error if you want.
93
94```{go}
95package main
96
97import (
98	"gopkg.in/logex.v1"
99	"os"
100)
101
102func openfile() (*os.File, error) {
103	f, err := os.Open("xxx")
104	if err != nil {
105		err = logex.Trace(err)
106	}
107	return f, err
108}
109
110func test() error {
111	f, err := openfile()
112	if err != nil {
113		return logex.Trace(err)
114	}
115	f.Close()
116	return nil
117}
118
119func main() {
120	err := test()
121	if err != nil {
122		logex.Error(err)
123		return
124	}
125	logex.Info("test success")
126}
127```
128
129
130response
131```
1322014/10/10 15:22:29 [main.main:testlog.go:28][ERROR] [main.openfile:11;main.test:19] open xxx: no such file or directory
133```
134