golang 代码:
package main
import "github.com/sirupsen/logrus"
func main() {
logrus.WithFields(logrus.Fields{"name": "cc"}).Info("hello")
}
输出:
time="2020-11-06T14:50:17+08:00" level=info msg="hello" name=cc
这段日志中可以看到,拆离出了各种结构化信息,以前都没这样想过...而且输出 json 也非常方便
然后最近又有相关需求,python 项目的日志要输出 json...我...
不禁又羡慕起logrus
来...
需求完成后,,抽空花了两天模仿写了个loggus
(半天写完,改了一天半的 bug 囧)
import loggus
if __name__ == '__main__':
loggus.WithFields({"name": "cc"}).Info("hello")
loggus.SetFormatter(loggus.JsonFormatter)
loggus.WithFields({"age": 18}).Info("world")
输出:
time="2020-11-06 14:54:15.416516" level=info msg=hello name=cc
{"age": 18, "time": "2020-11-06 15:05:04.613234", "level": "info", "msg": "world"}
等我找个内部项目试试水先,有大佬给点意见嘛,写的太简陋了...
https://github.com/CzaOrz/loggus
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.