由于beego的版本升级,beego.info被标识为过期方法,我们就更新成了logs.info,结果打印出来的日志定位到的文件不准确。
我在filter.go文件中打印了请求url及form参数,logs.Info("--工程唯一标识--", req.RequestURI, req.PostForm)
在日志中搜索 工程唯一标识 结果显示是在router.go:600
看了一下以前的配置调用深度是4:
import (
"github.com/astaxie/beego/logs"
"strings"
)
func Init() {
logs.EnableFuncCallDepth(true)
logs.SetLogFuncCallDepth(4)
logs.SetLevel(logs.LevelInformational)
}
搜索得出SetLogFuncCallDepth默认是2,修改这个值时打印的文件确实发生了变化。
由于工程中有以前的beego.info的使用,没有完全替换成logs.info,所以无论怎么修改都会出现不正确的输出。
无奈之下把beego.info的实现,搬到我的tools包下logger文件里了,搬个代码:
func Info(v ...interface{}) {
logs.Info(generateFmtStr(len(v)), v...)
}
func generateFmtStr(n int) string {
return strings.Repeat("%v ", n)
}
在其他地方调用tools.info()即可。
网友评论