日志 | 日志级别 | 性能 | 结构化 | 优点 | 缺点 | 定制 |
---|---|---|---|---|---|---|
log | 支持两种级别:一种基本的日志级别:Print,类似fmt的Print函数,另外一种是错误日志:Fatal日志(Fatal日志通过调用os.Exit(1)来结束程序),Panic日志(Panic日志在写入日志消息之后抛出一个panic),缺少Error级别(这个级别可以在不抛出panic或退出程序的情况下记录错误) | 一般 | 日期、时间、输出信息 | 使用简单,能够将日志输出到任意的地方 | 1. 日志级别少 2. 缺少日志格式化的能力 3. 不提供日志切割的能力 | no |
logrus | Panic:记录日志,然后panic。Fatal:致命错误,出现错误时程序无法正常运转。输出日志后,程序退出;Error:错误日志,需要查看原因;Warn:警告信息,提醒程序员注意;Info:关键操作,核心流程的日志;Debug:一般程序中输出的调试信息;Trace:很细粒度的信息,一般用不到; | 一般 | 默认为日期时间,级别,msg | 使用简单 | 全面的日志级别 | 输出文件名,添加字段,重定向输出 |
zap | 全部级别 | 性能好 | 级别、msg+键值对 | 简单,高效,支持缓存,不使用反射 | 繁琐 | 输出文件名和行号,输出调用堆栈 |
【GoWeb】日志对比:log,logrus,Zap
于 2022-10-25 19:48:10 首次发布