基本介绍
goframe
框架的各个组件在一些关键的功能节点会打印出一些调试信息,原本仅供框架内部开发者在开发阶段使用。由于功能强大,从goframe
框架v1.10.0
版本开始,全面开放给所有的框架使用者。
框架调试模式下打印的调试信息将会以[INTE]
级别的日志前缀输出到终端标准输出,并且会打印出所在源文件的名称以及代码行号,例如:
2021-04-14 15:24:52.954 [INTE] gdb_driver_mysql.go:49 Open: root:12345678@tcp(127.0.0.1:3306)/test
2021-04-14 15:24:52.954 [INTE] gdb.go:492 open new connection success, master:false, config:&gdb.ConfigNode{Host:"", Port:"", User:"", Pass:"", Name:"", Type:"mysql", Role:"", Debug:false, Prefix:"", DryRun:false, Weight:0, Charset:"", LinkInfo:"root:12345678@tcp(127.0.0.1:3306)/test", MaxIdleConnCount:0, MaxOpenConnCount:0, MaxConnLifeTime:0, QueryTimeout:0, ExecTimeout:0, TranTimeout:0, PrepareTimeout:0, CreatedAt:"", UpdatedAt:"", DeletedAt:"", TimeMaintainDisabled:false}, node:&gdb.ConfigNode{Host:"", Port:"", User:"", Pass:"", Name:"", Type:"mysql", Role:"", Debug:false, Prefix:"", DryRun:false, Weight:0, Charset:"utf8", LinkInfo:"root:12345678@tcp(127.0.0.1:3306)/test", MaxIdleConnCount:0, MaxOpenConnCount:0, MaxConnLifeTime:0, QueryTimeout:0, ExecTimeout:0, TranTimeout:0, PrepareTimeout:0, CreatedAt:"", UpdatedAt:"", DeletedAt:"", TimeMaintainDisabled:false}
特性开启
这些调试信息默认情况下是关闭的,不会影响框架性能,框架的开发者和使用者可以通过以下方式打开:
- 命令行启动参数 -
gf.debug=true
。 - 指定的环境变量 -
GF_DEBUG=true
。 - 在
GoFrame v1.14.0
版本以后,在程序启动boot
包中使用g.SetDebug
方法手动打开/关闭。该方法是非并发安全的,意味着您不能在运行时异步多协程去调用该方法动态设置调试模式。
您可以发现goframe
框架的许多功能模块特性也是按照命令行启动参数+环境变量的形式按照一定规则进行配置🐸。
需要注意的是,框架的各个模块关键调试信息仅会输出到终端标准输出,不支持输出到日志文件中。
使用示例
通过环境变量启用调试模式
我们以Goland IDE
为例,在运行模板中添加GF_DEBUG
环境变量即可。
通过命令行参数启用调试模式
启动程序的时候带上--gf.debug=true
即可,例如:
$ ./app --gf.debug=true
$ ./app --gf.debug true
或者
$ ./app --gf.debug=1
$ ./app --gf.debug 1