Versions Compared
compared with
Key
- This line was added.
- This line was removed.
- Formatting was changed.
错误日志信息支持Stack
特性,该特性可以自动打印出当前调用日志组件方法的堆栈信息,该堆栈信息可以通过Notice*/Warning*/Error*/Critical*/Panic*/Fatal*
等错误日志输出方法触发,也可以通过GetStack/PrintStack
获取/打印。错误信息的stack
信息对于调试来说相当有用。
示例1,通过Error
方法触发
Code Block | ||
---|---|---|
| ||
package main import ( "context" "github.com/gogf/gf/v2/os/glog" ) func Test(ctx context.Context) { glog.Error(ctx, "This is error!") } func main() { ctx := context.TODO() Test(ctx) } |
打印出的结果如下:
Code Block | ||
---|---|---|
| ||
2022-01-05 15:08:54.998 [ERRO] This is error! Stack: 1. main.Test C:/hailaz/test/main.go:10 2. main.main C:/hailaz/test/main.go:15 |
示例2,通过Stack
方法打印
Code Block | ||
---|---|---|
| ||
package main import ( "context" "fmt" "github.com/gogf/gf/v2/os/glog" ) func main() { ctx := context.TODO() glog.PrintStack(ctx) glog.New().PrintStack(ctx) fmt.Println(glog.GetStack()) fmt.Println(glog.New().GetStack()) } |
执行后,输出结果为:
Code Block | ||
---|---|---|
| ||
2019-07-12 22:20:28.070 Stack: 1. main.main /home/john/Workspace/Go/GOPATH/src/github.com/gogf/gf/v2/geg/os/glog/glog_stack.go:11 2019-07-12 22:20:28.070 Stack: 1. main.main /home/john/Workspace/Go/GOPATH/src/github.com/gogf/gf/v2/geg/os/glog/glog_stack.go:12 1. main.main /home/john/Workspace/Go/GOPATH/src/github.com/gogf/gf/v2/geg/os/glog/glog_stack.go:14 1. main.main /home/john/Workspace/Go/GOPATH/src/github.com/gogf/gf/v2/geg/os/glog/glog_stack.go:15 |
示例3,打印gerror.Error
glog
日志模块支持对标准错误以及gerror
错误的堆栈打印支持。
Code Block | ||
---|---|---|
| ||
package main import ( "context" "errors" "github.com/gogf/gf/v2/errors/gerror" "github.com/gogf/gf/v2/os/glog" ) func MakeError() error { return errors.New("connection closed with normal error") } func MakeGError() error { return gerror.New("connection closed with gerror") } func TestGError(ctx context.Context) { err1 := MakeError() err2 := MakeGError() glog.Error(ctx, err1) glog.ErrorErrorf(ctx, "%+v", err2) } func main() { ctx := context.TODO() TestGError(ctx) } |
执行后,终端输出:
Code Block | ||
---|---|---|
| ||
2019-07-12 22:23:11.467 [ERRO] connection closed with normal error Stack: 1. main.TestGError /home/john/Workspace/Go/GOPATH/src/github.com/gogf/gf/v2/geg/os/glog/glog_gerror.go:20 2. main.main /home/john/Workspace/Go/GOPATH/src/github.com/gogf/gf/v2/geg/os/glog/glog_gerror.go:25 2019-07-12 22:23:11.467 [ERRO] connection closed with gerror 1. connection closed with gerror 1). main.MakeGError /home/john/Workspace/Go/GOPATH/src/github.com/gogf/gf/v2/geg/os/glog/glog_gerror.go:14 2). main.TestGError /home/john/Workspace/Go/GOPATH/src/github.com/gogf/gf/v2/geg/os/glog/glog_gerror.go:19 3). main.main /home/john/Workspace/Go/GOPATH/src/github.com/gogf/gf/v2/geg/os/glog/glog_gerror.go:25 Stack: 1. main.TestGError /home/john/Workspace/Go/GOPATH/src/github.com/gogf/gf/v2/geg/os/glog/glog_gerror.go:21 2. main.main /home/john/Workspace/Go/GOPATH/src/github.com/gogf/gf/v2/geg/os/glog/glog_gerror.go:25 |
Panel | ||
---|---|---|
| ||
|