文档章节

在Github中stars数最多的Go日志库集合

终于19岁
 终于19岁
发布于 2017/09/12 21:50
字数 1053
阅读 978
收藏 30
点赞 1
评论 1

在Go语言世界中,日志库并不像Java世界那里有一个具有统治力的日志库。在做新项目技术选型的时候,难免会遇到日志库的选择问题,今天笔者就为大家介绍一下在Github中stars数最多的Go日志库。

logrus是我已知的Go语言日志库中在Github中stars数最多的日志库,功能强大,性能也不错。另外值得一提的是logrus的一个fork库gogap/logrus,可以配置输出到文件和graylog日志系统,基础的level、调用链、行号,文件切分都有,特色是结构化日志可以被统计和索引,借助graylog就可以做日志分析,不过这个库很久没有维护了。

zap是Go中一个快速,结构化,分级日志库,Uber出品。能够激活强大的ad-hoc分析, 灵活的仪表板, 其功能超过其他工具ELK, Splunk, 和 Sentry. 所有日志消息都是JSON-serialized。也是目前笔者使用的日志库之一。

zerolog也是一款性能相当好的日志库,有趣的是zerologzap都在自家的Github库首页中的性能对比数据里打败了对方:)

Seelog是一个原生Go日志库,提供了灵活的异步调度、过滤和格式化。这也是笔者较早期使用的Go日志库之一。

blog4go是高性能日志库。创新地使用“边解析边输出”方法进行日志输出,同时支持回调函数、日志淘汰和配置文件。可以解决高并发,调用日志函数频繁的情境下,日志库造成的性能问题。

有一些Github库star数并不多,但是功能却很多,例如mkideal/loggo-logalog等就是功能十分齐全的日志库,简单易用。还有一些是对开发工程中有些小帮助的库,例如happierall/l

下面是我整理的Go语言日志库列表,大家可以依据自己项目的实际需求选择(如果您还有好用的Go日志库推荐,请留言分享)。

Project Name Stars Forks Description
logrus 5471 775 Structured, pluggable logging for Go.
zap 2761 175 Blazing fast, structured, leveled logging in Go.
oklog 1914 61 A distributed and coördination-free log management system
glog 1496 307 Leveled execution logs for Go
Seelog 960 173 Seelog is a native Go logging library that provides flexible asynchronous dispatching, filtering, and formatting.
log15 625 79 Structured, composable logging for Go
zerolog 444 18 Zero Allocation JSON Logger
apex/log 433 38 Structured logging package for Go.
log 215 14 Simple, configurable and scalable Structured Logging for Go.
blog4go 189 31 BLog4go is an efficient logging library written in the Go programming language, providing logging hook, log rotate, filtering and formatting log message.
logutils 176 18 Utilities for slightly better logging in Go (Golang).
log4go 161 109 Logging package similar to log4j for the Go programming language
fileLogger 80 27 fileLogger是一个基于Go开发的可自动分割文件进行备份的异步日志库
gogap/logrus 75 775 Obsolete, Please refer to gogap/logrus_mate
ozzo-log 74 17 A Go (golang) package providing high-performance asynchronous logging, message filtering by severity and category, and multiple message targets.
azer/logger 74 9 Minimalistic logging library for Go.
alexcesaro/log 42 4 Logging packages for Go
happierall/l 33 3 Golang Pretty Logger.Custom go logger for pretty print, log, debug, warn, error with colours and levels.
mkideal/log 33 2 pluginable, fast,structrued and leveled logging package
slf 33 1 Structured Logging Facade (SLF) for Go
logex 29 6 An golang log lib, supports tracking and level, wrap by standard log lib
gologger 26 5 Simple Logger for golang. Logs Into console, file or ElasticSearch. Simple, easy to use.
go-log 24 9 A logger, for Go
slog 22 1 The reference SLF (structured logging facade) implementation for Go
cxr29/log 18 14 log - Go level and rotate log
ulog 15 2 ulog - Structured and context based logging for golang
siddontang/go-log 14 5 a golang log lib supports level and multi handlers
ccpaging/log4go 13 109 Logging package similar to log4j for the Go programming language
mlog 11 9 A simple logging module for go, with a rotating file feature and console logging.
alog 6 2 Golang async log package
golog 5 1 golog is a multilayer & leveled & structured logger for golang.
szxp/log 5 0 A small structured logging library for Golang
go-async-log 4 2 Golang异步日志库,支持异步批量写入,按天或者小时自动切割,错误等级,多文件等
log 1 1 一个基于Golang的日志模块

最后是两个benchmark库,提供的部分Go日志库的性能对比数据,供大家做技术选型时参考

© 著作权归作者所有

共有 人打赏支持
终于19岁
粉丝 7
博文 5
码字总数 7636
作品 0
深圳
加载中

评论(1)

雪吖头
雪吖头
积累。
追踪 GitHub 项目的流行度

介绍 GitHub 是世界上最大的开源软件托管平台,因此追踪GitHub 流行度对于软件开发者和用户都非常重要。本篇文章是介绍一个 GitHub 流行度追踪框架,使用他们的 Stars 数目来评估GitHub 的流...

oschina
2015/07/06
8.3K
56
2015 年开源前端框架盘点 TOP 20

2015年已经过去了,作为一个前端开发者,我觉得有必要把过去一年帮助过我或朋友们的优秀开源前端框架做个盘点,希望这些项目能够越来越好,帮助到更多的前端开发者们。 此榜单根据github上s...

wuhen147
2016/01/11
24K
34
Github 编程语言分布统计:JavaScript 称霸

英文来自:Asas Dhamani 【编者按】Github作为全球最大的开源项目托管平台,每天都会有许多项目托管在上面,有些程序员会好奇,这么多项目,有哪些项目是基于Java或者Python开发的呢?本文作...

陨落人间
2014/11/17
8.4K
33
10 款 Node.js 框架,可用于你的下一个项目

Node.js 是一个开源的跨平台运行时环境,用于开发服务器端和网络应用程序,它基于 Google Chrome V8 JavaScript 引擎构建,你可以使用 Node.js 中的 JavaScript 来实现用 Ruby 或 PHP 所做的...

局长
2016/12/20
6.2K
9
10 款 Node.js 框架,可用于你的下一个项目

Node.js 是一个开源的跨平台运行时环境,用于开发服务器端和网络应用程序,它基于 Google Chrome V8 JavaScript 引擎构建,你可以使用 Node.js 中的 JavaScript 来实现用 Ruby 或 PHP 所做的...

黑魔法
2016/12/21
332
0
精选10大机器学习开源项目 !(附链接)

本文推荐的10大机器学习开源项目是由Mybridge从250个机器学习开源项目中挑选出来的,Github平均star为1385,主题包含:Tensorflow, Augmentation, AlphaGo Zero, NSynth, Deep Neuroevoluti...

技术小能手
05/04
0
0
资源 | 2017年GitHub中最为流行的30个开源机器学习项目

  选自Mybridge   机器之心编译   参与:李泽南      2017 年里哪些机器学习项目最受人关注?Mybridge 为我们整理了一份 Top 30 列表,以下所有项目均附有 GitHub 链接。      ...

机器之心
01/06
0
0
10大机器学习开源项目推荐(Github平均star为1385)

翻译 | suisui 出品 | 人工智能头条(AI_Thinker) 本文推荐的10大机器学习开源项目是由Mybridge从250个机器学习开源项目中挑选出来的,Github 平均 star为 1385,主题包含:Tensorflow, Aug...

AI科技大本营
05/03
0
0
10大Python开源项目推荐(Github平均star2135)

翻译 | suisui 出品 | 人工智能头条(AI_Thinker) 继续假日充电系列~本文是Mybridge 挑选的 10 个 Python 开源项目,Github 平均star 2135,希望你能够喜欢~~ (这些也是来自Mybridge的资源...

AI科技大本营
05/03
0
0
学习笔记 -- mongo监控命令与工具

mongostat --host host:port --username admin库的用户 --password admin库的密码 --authenticationDatabase admin...

340StarObserver
2016/11/24
62
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

崛起于Springboot2.X之mysql读写分离升级版(22)

介绍:本人之前写了一篇博客关于mysql的读写分离,那个需要配置多个类,如今读写分离升级了,我们不需要配置任何java配置文件类就可以,因为有人为我们封装了,我们只管添加依赖就好了 注意:...

木九天
3分钟前
0
0
全新内存布局Android5 for one x

众所周知Android5.0默认ART模式,运行速度加倍,软件占用内存也加倍,我们one x这种元老机采用旧的内存布局,data空间2g ART模式下安装几个软件也就不够用了。最近逛国外的xda论坛,发现有大...

CrazyManDF
13分钟前
0
0
web3j转账

 web3 转账功能   为了完成以太坊交易,必须有几个先决条件   1、对方的以太坊地址   2、确定要转账的金额   3、自己地址的转账权限   4、大于转账金额的以太币,以太币转账其实就...

智能合约
13分钟前
0
0
10.28 rsync工具介绍 , rsync常用选项, rsync通过ssh同步

rsync远程同步 重点!重点!!重点!!! 例子 • rsync -av /etc/passwd /tmp/1.txt • rsync -av /tmp/1.txt 192.168.188.128:/tmp/2.txt rsync格式 • rsync [OPTION] … SRC DEST • rs......

Linux_老吴
27分钟前
0
0
iis php 环境搭建,非常详细的教程

准备篇 一、环境说明: 操作系统:Windows Server 2016 PHP版本:php 7.1.0 MySQL版本:MySQL 5.7.17.0 二、相关软件下载: 1、PHP下载地址: http://windows.php.net/downloads/releases/ph...

T_star
29分钟前
0
0
Day35 rsync通过服务同步

rsync通过服务同步 rsyncd.conf配置文件详解 port:指定在哪个端口启动rsyncd服务,默认是873端口。 log file:指定日志文件。 pid file:指定pid文件,这个文件的作用涉及服务的启动、停止等...

杉下
35分钟前
1
0
【最新最全】为 iOS 和 Android 的真机和模拟器编译 Luajit 库

编译 Luajit 库,的确是一个挑战。因为官网的教程,在当前版本的 Xcode 和 NDK 环境中,已经不适用了。以前只是编译了适用于真机的 Luajit 库。最近在尝试编译模拟器 Luajit 库,就顺便梳理了...

ios122
35分钟前
0
0
rsync至ssh同步

rsync: 文件同步工具,可实现“增量拷贝”;使用yum安装rsync包 常用选项:-a=-rtplgoD (-r同步目录,-t保持文件的时间属性,-p保持文件的权限属性,-l保持软连接,-g保持文件的属组,-o保持...

ZHENG-JY
40分钟前
1
0
TradingView 学习笔记

#前言 公司最后需要使用TradingView展示K线图走势。由于之前没接触过,拿到文档时一脸蒙逼。还好找到二篇文章+Demo代码,直接改改就行了。 #被批 由于上面的懵懂,有个问题困扰4个小时没解决...

hihubs
40分钟前
0
0
10.28 rsync工具介绍~10.31 rsync通过ssh同步

rsync命令是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。rsync使用所谓的“rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而...

洗香香
43分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部