[gogf/gf]期望配置文件支持log模块的flags属性配置

2024-06-25 53 views
0

一般情况,按java的日志框架处理机制,会默认自动打印日志出现的代码行数。 gf的日志框架默认不打印代码行信息 [logger] Path = "./logs/yunAIYI" Level = "all" Stdout = true Line = true 目前line不生效。 必须手写才可以: g.Log().Line(true).Debug("微信小程序自动登陆:", openid, SessionKey, Unionid)

这样太麻烦了,希望全局可以配置。

回答

2

配置好像没有Line设置,g.Log().set....没有的,就不能从配置文件读

6

可以通过配置Flags来控制输出格式.例如在配置文件中配置为Flags = 21.则日志输出前缀格式为09:34:00 [DEBU] gdb_core.go:729 729就是行号了.其它值样式输出可在glog_logger.go的const中查看,简而言之就是对他们进行组合然后用"|"位运算符计算得到结果填入到配置文件的flag上即可.

7

贴一下logger配置: [logger] Path = "./runtime/mlog" Level = "all" StdoutPrint = false Flags = 21 #时分秒 文件:行号 异步输出 File ="{Ymd}.log" 输出结果为文件名称年月日 行内时分秒 文件:行号 输出内容

4

Flags这个我还在考虑如何才能方便配置,大家有什么好的建议可以提提。

8

Flags这个配置在代码里是比较清晰的,但是配置到config.toml里确实不是很明了,需要在代码里做位运算得到结果在填写.建议代码那边不做改动,在配置文件内把Flags拆分成若干项.如Line=true,asyn=ture,format=H:i:s.还有一点要我感觉最重要的一点json输出的格式.目前的json输出仅是对日志内容进行格式化,文件信息并没有纳入到json内部如15:23:03 [INFO] response.go:48: json-data 需要增加一个配置将信息也纳入到json中,一次产生的日志为一行一条json记录.例如增加一个配置为json=true key=logger 这样解析日志的时候只需要按行读取进而转换json而不需要切割字符串.以上仅个人简介,配置key名称仅为说明意图并不代表实际.

3

另外有个小建议,文档做一个完整的config.toml.能配置的内容完整且注释详细,现在文档内的各个配置散落在各模块文档内,而且多数配置需要查看源码才能知道key是什么参数是什么类型(就像这个flags,多数情况还是靠猜).有必要将其组合并新开一个汇总目录.

4

楼上两位大佬聊得啥 看不懂了已经快

9

强烈建议,不过强哥在群里有提过,源码都有注释