- Trace特性
- 示例1,通过错误方法触发
- 示例2,通过Stack方法打印
- 示例3,打印gerror.Error
Trace特性
错误日志信息支持trace特性,可以通过Notice*/Warning*/Error*/Critical*/Panic*/Fatal*错误方法触发,也可以通过GetStack/PrintStack获取/打印。错误信息的trace信息对于调试错误来说相当有用。
示例1,通过错误方法触发
package mainimport "github.com/gogf/gf/g/os/glog"func Test() {glog.Error("This is error!")}func main() {Test()}
打印出的结果如下:
2019-07-12 22:19:23.421 [ERRO] This is error!Stack:1. main.Test/home/john/Workspace/Go/GOPATH/src/github.com/gogf/gf/geg/os/glog/glog_error.go:62. main.main/home/john/Workspace/Go/GOPATH/src/github.com/gogf/gf/geg/os/glog/glog_error.go:10
示例2,通过Stack方法打印
package mainimport ("fmt""github.com/gogf/gf/g/os/glog")func main() {glog.PrintStack()glog.New().PrintStack()fmt.Println(glog.GetStack())fmt.Println(glog.New().GetStack())}
执行后,输出结果为:
2019-07-12 22:20:28.070 Stack:1. main.main/home/john/Workspace/Go/GOPATH/src/github.com/gogf/gf/geg/os/glog/glog_stack.go:112019-07-12 22:20:28.070 Stack:1. main.main/home/john/Workspace/Go/GOPATH/src/github.com/gogf/gf/geg/os/glog/glog_stack.go:121. main.main/home/john/Workspace/Go/GOPATH/src/github.com/gogf/gf/geg/os/glog/glog_stack.go:141. main.main/home/john/Workspace/Go/GOPATH/src/github.com/gogf/gf/geg/os/glog/glog_stack.go:15
示例3,打印gerror.Error
glog日志模块支持对标准错误以及gerror错误的堆栈打印支持。
package mainimport ("errors""github.com/gogf/gf/g/errors/gerror""github.com/gogf/gf/g/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() {err1 := MakeError()err2 := MakeGError()glog.Error(err1)glog.Error(err2)}func main() {TestGError()}
执行后,终端输出:
2019-07-12 22:23:11.467 [ERRO] connection closed with normal errorStack:1. main.TestGError/home/john/Workspace/Go/GOPATH/src/github.com/gogf/gf/geg/os/glog/glog_gerror.go:202. main.main/home/john/Workspace/Go/GOPATH/src/github.com/gogf/gf/geg/os/glog/glog_gerror.go:252019-07-12 22:23:11.467 [ERRO] connection closed with gerror1. connection closed with gerror1). main.MakeGError/home/john/Workspace/Go/GOPATH/src/github.com/gogf/gf/geg/os/glog/glog_gerror.go:142). main.TestGError/home/john/Workspace/Go/GOPATH/src/github.com/gogf/gf/geg/os/glog/glog_gerror.go:193). main.main/home/john/Workspace/Go/GOPATH/src/github.com/gogf/gf/geg/os/glog/glog_gerror.go:25Stack:1. main.TestGError/home/john/Workspace/Go/GOPATH/src/github.com/gogf/gf/geg/os/glog/glog_gerror.go:212. main.main/home/john/Workspace/Go/GOPATH/src/github.com/gogf/gf/geg/os/glog/glog_gerror.go:25
