awesome-go 资源列表2[转]


参考:awesome-go 就是 avelino 发起维护的 Go 资源列表,内容包括:音频和音乐库、命令行工具、服务端应用、流处理、持续集成、数据库、机器学习、NLP、物联网、中间件、文本处理、安全、机器人技术等。

资源列表

分布式系统

  • arpc : 更有效的网络通信,支持双向呼叫、通知、广播。
  • celeriac : 利用 Go 语言对Celeryworkerß任务事件进行交互和监控的库
  • consistent : 有限负载的一致哈希算法库。
  • consistenthash : 使用可配置的副本实现一致的哈希。
  • dht : BitTorrent Kademlia DHT的实现。
  • digota grpc电子商务微服务。
  • dot : 使用操作转换/OT的分布式同步库。
  • doublejump : 改版后的Google的跳转一致哈希。
  • dragonboat : Go中一个功能完整且高性能的多组Raft库。
  • drmaa : 集群调度工具的任务提交库,基于标准 DRMAA
  • dynamolock : DynamoDB支持的分布式锁的实现。
  • dynatomic : 将 DynamoDB 作为原子计数器使用的库。
  • emitter-io : 使用MQTT、Websocketslove 构建的高性能、分布式、安全和低延迟的发布-订阅平台。
  • flowgraph : 基于流的编程包实现的MPI 风格的读取,发送协同层;
  • gleam : 快速、可扩展的分布式map/reduce 系统,使用纯Go 语言和Luajit 编写,融合了 Go 语言的高并发能力和 Luajit 的高性能,可以独立或分布式部署运行。
  • glow : 易于使用的可扩展的分布式大数据处理、Map-Reduce、DAG执行,全部用纯Go编写。
  • gmsec : Go分布式系统开发框架。
  • go-health : 用于在服务中启用异步依赖性健康检查的库。
  • go-jump : Google "Jump"一致性哈希函数的接口
  • go-kit : 为服务工具吧,支持服务发现、负载均衡 、可插拔传输以及请求追踪等
  • go-micro : 一个分布式系统开发框架。
  • go-mysql-lock : 基于MySQL的分布式锁。
  • go-pdu : 基于身份的去中心化社交网络。
  • go-sundheit : 为 golang服务定义异步服务健康检查提供支持的库。
  • gorpc : 简单、快速、可扩展的RPC 库,针对高负载场景
  • grpc-go : gRPC的Go语言实现。基于HTTP/2的RPC
  • hprose : 非常新颖的RPC库,现在支持25种以上的语言。
  • jsonrpc : jsonrpc 包实现了 JSON-RPC 2.0.
  • jsonrpc : JSON-RPC 2.0 HTTP客户端实现
  • KrakenD : 带有中间件的,高性能API网关框架
  • liftbridge : 用于NATS的轻量级、容错消息流。
  • micro : 面向云计算及其他领域的分布式系统运行时。
  • NATS : 轻量级、高性能微服务系统,用于微服务、物联网以及云
  • outboxer : Outboxer是一个实现outbox模式的go库。
  • pglock : PostgreSQL支持的分布式锁的实现。
  • raft : Raft 共识协议的 Golang实现,由 HashiCorp.开发。
  • raft : Raft共识协议的 Go 实现,由 CoreOS 提供。
  • rain : BitTorrent客户端和库。
  • redis-lock : 使用Redis实现的简化的分布式锁。
  • resgate : 用于构建 REST、实时和 RPC API 的实时 API 网关,所有客户端都可以无缝同步
  • ringpop-go : 为Go应用提供可扩展、容错的应用层分片。
  • rpcx : rpcx是一个类似阿里巴巴Dubbo 和微博Motan 的分布式的RPC服务框架
  • Semaphore : 直接的(微)服务协调器。
  • sleuth : 在 HTTP服务之间进行无主p2p 自动发现和 RPC通信(使用 ZeroMQ
  • tendermint : 使用Tendermint 一致性及区块链协议的高性能的中间件,用于将任何语言编写的状态机转换为一个拜占庭容错状态机,
  • torrent : BitTorrent 客户端

动态DNS

更新动态dns记录的库和工具

  • DDNS : 以digital oceanDNS为后台的个人DDNS客户端。
  • dyndns : 后台Go进程,定期自动检查您的IP地址,并在您的地址发生变化时更新(一个或多个)谷歌域名的动态DNS记录。
  • GoDNS : 用Go编写的动态DNS客户端工具,支持DNSPodHE.net

邮件库

邮件管理和发送的go语言库

  • chasquid : 用Go编写的SMTP服务器。
  • douceur : HTML 邮件中的内联 CSS
  • email : 健壮的、灵活的 email
  • go-dkim : DKIM 库,用于对 email 进行签名和验证
  • go-imap : IMAP 库,用于客户端和服务器
  • go-message : 用于互联网消息格式和邮件的库
  • go-premailer : 在Go中为HTML邮件提供在线样式。
  • go-simple-mail : go语言实现的基于简单smtp协议的邮件发送库
  • Hectane : 轻量级 SMTP客户端,提供 HTTP API
  • hermes : 一个用于生成干净、响应式 HTML e-mail 的包
  • mailchain : 用go写的用于发送加密邮件到区块链地址的邮件库
  • mailgun-go : 使用Mailgun API发送邮件的Go库。
  • MailHog : EmailSMTP 测试工具,具有 web 及 API 接口
  • SendGrid : SendGrid的 Go 语言库,用于发送电子邮件
  • smtp : SMTP 服务器协议状态机

脚本语言与嵌入式编程

在你的go代码中嵌入其他脚本语言

  • anko : Go语言编写的解释器
  • binder : 基于gopher-lua的go语言Lua 接口,
  • cel-go : 快速、可移植、非图灵完全表达式评估和渐进分型。
  • expr : Go 的表达式评估引擎,具有快速、非图灵完备、动态类型化、静态类型化的特性。
  • gentee : 可嵌入脚本编程语言。
  • gisp : Go中的简单LISP
  • go-duktape : GoDuktape JavaScript引擎封装。
  • go-lua : Lua 5.2虚拟机的纯 Go 语言接口
  • go-php : PHPGo 语言接口
  • go-python : CPython C-APIGo 语言接口
  • goja : 在 Go 中实现 ECMAScript 5.1(+)
  • golua : lua C APIGo语言接口。
  • gopher-lua : Go 语言编写的 Lua 5.1 虚拟机和编译器
  • gval : Go编写的高度可定制的表达式语言。
  • ngaro : 可嵌入的Ngaro虚拟机实现,可在Retro中编写脚本。
  • purl : 嵌入 Go 语言的 Perl 5.18.2
  • tengo : Go的字节码编译脚本语言。

错误处理

go 语言错误处理库

  • emperror : Go库和应用程序的错误处理工具和最佳实践。
  • eris : 在Go中处理、跟踪和记录错误的更好方法。与标准错误库和github.com/pkg/errors兼容。
  • errlog : 用于确定错误的责任源代码(以及其他一些快速调试功能,可以嵌入到任何的日志服务中。
  • errors : 标准库错误包和github.com/pkg/errors 的替代包。提供各种错误处理单元。
  • errors : 提供简单错误处理单元的包。
  • errors : 简单的 golang错误处理包。
  • errors : 最简单的错误封装器,性能卓越,内存开销最小。
  • errors : 最小的错误处理包,具有自定义错误类型等特性
  • errorx : 功能丰富的错误处理包,包括堆栈信息获取、错误组成分析等
  • Falcon : 简单但功能强大的错误处理包。
  • go-multierror : 用于将错误列表表示为单个错误的包
  • tracerr : 带有堆栈跟踪和源片段的Golang错误处理包。

文件处理

处理文件和文件系统操作的库

  • afero : go语言编写的对文件系统进行抽象的系统框架
  • afs : 适用于 Go 的抽象文件存储。
  • baraka : 用于轻松处理 http文件上传的库。
  • bigfile : 文件传输系统,支持用http api、rpc调用和ftp客户端管理文件。
  • checksum : 计算大文件的信息摘要,如MD5SHA256
  • copy : 递归复制目录。
  • flop : 文件操作库,目的是与 GNU cp进行镜像。
  • go-csv-tag : 使用 tag 导入 csv
  • go-decent-copy : 文件复制功能库。
  • go-exiftool : 为ExifTool提供绑定服务,ExifTool是一个著名的库,用于从文件(图片、PDF、office…)中提取尽可能多的元数据
  • go-gtfs : 用go加载gtfs文件
  • gut/yos : 简单可靠的文件操作包,支持对文件、目录和符号链接的copy/move/diff/list
  • notify : 类似 os/signal的文件系统提示库,具有简单的 API.
  • opc : 为Go加载Open Packaging Conventions (OPC)文件
  • parquet : 读取和写入parquet 文件。
  • pdfcpu : PDF 处理器。
  • skywalker : 允许你简单方便的并发浏览文件系统
  • stl : 读取和写入STL文件的模块,采取并发的读取算法。
  • tarfs : 为 tar 文件实现的文件系统接口
  • todotxttodo.txt文件的go语言解析器。
  • vfs : 适用于 Go 的多个文件系统类型,如 os、S3GCS的可插拔、可扩展的文件系统功能库。

金融领域相关库

处理货币与金融领域的库

  • accounting : Go语言金钱及货币格式
  • currency : 处理货币金额,提供货币信息和格式。
  • currency : 高性能、精确的货币计算包。
  • decimal : 支持任意精度的十进制数的go包
  • fastme : Go实现的 快速可扩展的匹配引擎 。
  • go-finance : Go中的综合金融市场数据。
  • go-finance : 用于货币时间价值(年金)、现金流、利率转换、债券和折旧计算的金融函数库。
  • go-finance : 用于获取汇率、通过VIES查询增值税号和查询IBAN银行账号的模块。
  • go-finnhub : 来自finnhub.io的股市、外汇和加密数据客户端。访问来自60多家证券交易所、10家外汇经纪商和15家以上加密交易所的实时金融市场数据。
  • go-money : Fowler's Money模式的实现。
  • ofxgo : 查询 OFX服`务器并解析其响应 (有一个示例的命令行客户端)
  • orderbook : Golang中的限价订单簿的匹配引擎。
  • techan : 具有高级市场分析和交易策略的技术分析库。
  • transaction : 以多线程模式运行的嵌入式的账户交易数据库,。
  • vat : VAT 验证及欧洲增值税率工具

表单

表单解析与绑定

  • bind : 可以表单数据绑定到任意的Go 变量上
  • binding : 将来自net/HTTP请求的表单、JSON 数据绑定到结构体
  • conform : 检查用户输入并基于结构标签来清理数据
  • form : 解码 url中的数据到 Go 语言变量中以及将 Go语言变量编码进 url
  • formam : 将表单数据解码到结构体
  • forms : 框架无关的表单/JSON数据解析验证库,支持多部分表单及文件
  • gorilla/csrf : 为 Go 语言 web 应用提供 CSRF 防御
  • nosurf : CSRF 防御中间件
  • qs : 用于将结构体编码为 URL 查询参数的Go 模块
  • queryparam : 将url.Values解码为标准或自定义类型的可用结构体值。

函数式编程

  • fpGo : Golang中的单项式函数式编程功能
  • fuego : Go中实验室的函数式编程。
  • go-underscore : Go函数式集合工具。

游戏开发

  • Azul3D : Go语言编写的 3D 游戏引擎
  • Ebiten : Go 语言编写的简单的 2D 游戏库
  • engo : EnGo是一个开源的2D游戏引擎,遵循实体-组件-系统范式
  • g3n : Go 3D游戏引擎。
  • go-astar : A*路径查找算法的Go实现。
  • go-sdl2 : Simple DirectMedia LayerGo封装。
  • go3d : 专注性能的 2D/3D 数学库
  • gonet : Go语言实现的游戏服务器框架
  • goworld : 可扩展的游戏服务器引擎。
  • Leaf : 轻量级游戏服务器框架
  • nano : 基于golang的轻量级、设施、高性能的游戏服务器框架。
  • Oak : go游戏引擎。
  • Pitaya : 可扩展的游戏服务器框架,支持集群,并通过C SDKiOS、Android、Unity等提供客户端库。
  • Pixel :2D 游戏引擎库
  • prototype : 跨平台(Windows/Linux/Mac)库,可利用最小的API创建桌面游戏。
  • raylib-go : raylib的 Go 语言接口,简单、易用的用于学习游戏编程的库
  • raylib : raylib的Go绑定,一个简单易用的电子游戏编程学习库。
  • termloop : 终端游戏引擎,基于 Termbox
  • tile : 面向数据和缓存友好的 2D 网格库 (TileMap)。

代码生成与泛型

  • efaceconv : 代码生成工具,用于高效的将 interface{}转换为不可变类型,并且不需要进行任何内存分配
  • gen : 代码生成工具,用于提供类似泛型的功能
  • generis : 提供泛型、自由形式宏、条件编译和 HTML 模板化的代码生成工具。
  • go-enum : 从代码注释中生成enums代码。
  • go-linq : 类似.NET LINQGo查询方法。
  • go-xray : 使反射的使用更加简单的助手。
  • goderive : 从输入类型导出函数。
  • gotype : Golang源代码解析,用法类似于 reflect 包。
  • GoWrap : 使用简单的模板为 Go接口生成装饰器。
  • interfaces : 命令行工具,用于生成接口定义
  • jennifer : 不适用模板生成任意 Go 语言代码
  • pkgreflect : 用于包作用域反射的 Go语言预处理器
  • typeregistry : 用于动态创建类型的库。

位置信息与地理GEO处理库

  • geocache : 内存缓存,适用于基于地理位置的应用。
  • geoserver : 用于通过GeoServer REST API操纵GeoServer实例的Go包。
  • gismanager : 将你的GIS数据(矢量数据)发布到PostGISGeoserver的库。
  • mbtileserver : 简单的基于Go的服务器,用于存储mbtiles格式的地理信息。
  • osm : 用于读取、写入和处理OpenStreetMap数据和API的库。
  • pbf : OpenStreetMap PBF golang编码器/解码器。
  • S2 geojson : 将geojson转换为S2单元格,并在地图上演示一些S2几何特征。
  • S2 geometry : Go中的S2几何库。
  • Tile38 : 具有空间索引和实时地理围栏的地理位置数据库。
  • WGS84 : 坐标转换和变换的库(ETRS89, OSGB36, NAD83, RGF93, Web Mercator, UTM)。
  • c4go : 将C代码转换为go代码。
  • f4go : 将FORTRAN 77代码转为 Go 代码。
  • gopherjs : 把Go 编译为JavaScript.
  • llgo : 基于 LLVMGo 语言编译器
  • tardisgo : Golang转换为 Haxe 进而转换为 CPP/CSharp/Java/JavaScript的编译器.

Goroutines

goroutines的管理和使用

  • ants : 高性能和低消耗的goroutine池。
  • artifex : Golang的简单内存作业队列,使用基于worker的调度策略。
  • async : Go的另一个同步库(Future, Promise, Locks)。
  • async : 安全的异步函数执行的方式,支持在出现pannic的情况下恢复它们。
  • breaker : 采用了一种可以使执行流可中断的灵活的机制的包。
  • channelify : 将你的函数转化为返回管道,以实现简单而强大的并行处理。
  • conexec : 一个并发工具包,帮助你以一种高效和安全的方式并发执行函数。它支持指定整体超时以避免阻塞,并使用goroutine池来提高效率。
  • cyclicbarrier : - golangCyclicBarrier
  • go-floc : 轻松编排 Go语言协程
  • go-flow : 控制Go语言协程的执行顺序
  • go-tools/multithreading : 使用这个轻量级的库和简单的API来管理goroutine 池。
  • go-trylock : 支持 Golang 的读写锁的 TryLock.
  • go-waitgroup : - 类似 sync.WaitGroup的错误处理和并发控制。
  • goccm : Go并发管理包,限制了允许并发运行的 goroutine的数量
  • gohive : 高性能且易于使用的goroutine池。
  • gollback : 异步简单函数工具,用于管理闭包和回调的执行
  • goworker : Goworker是一个基于 Go 语言的后台worker
  • gowp : - gowp 是限制并发量的goroutine池。
  • gpool : 管理一个可调整大小的上下文感知的goroutine池,并以这种方式来约束并发量。
  • grpool : 轻量级Goroutine池。
  • hands : 用于控制多个goroutine的执行和返回策略的进程控制器。
  • Hunch : Hunch提供的功能有。All、First、Retry、Waterfall等功能,让异步流控制更加直观。
  • kyoo : 提供了一个无限的作业队列和并发的工作池。
  • neilotoole/errgroup : sync/errgroup的替代方案,限于N个worker goroutine池。
  • nursery : Go中的结构化并发
  • oversight : versightErlang监督树的完整实现。
  • parallel-fn : 并行执行函数。
  • pond : 在 Go 中编写的最小化和高性能的 goroutine工作池。
  • pool : 便于goroutine处理和取消的有限的消费者goroutine池或无限的goroutine池,
  • queue : 类似于sync.WaitGroup的队列包。帮助你控制和等待goroutine的执行,比如等待所有goroutine的结束等等。
  • routine : 利用contextgo routine实现。
  • semaphore : 基于管道和上下文的加锁/解锁操作。
  • semaphore : 基于CAS的快速可调整大小的semaphore实现(比基于管道的semaphore实现更快)。
  • stl : 基于软件事务性内存(STM)并发控制机制的软件事务性锁。
  • threadpoolGolang线程池的实现。
  • tunny : Go语言协程池
  • worker-pool : Go简单的异步worker池。
  • workerpool : 用于限制任务执行的并发性的goroutine缓冲池。

GUI

  • app : 使用Go, HTMLCSS 进行应用程序开发的库, 支持MacOS, Windows
  • fyne : 基于Material DesignGo设计的跨平台本地GUI。支持 Linux, macOS, Windows, BSD, iOS` 和 Android.
  • go-astilectron : 使用GOHTML/JS/CSS(由Electron提供支持)构建跨平台GUI应用程序
  • go-gtk : GTKGo绑定。
  • go-sciter : SciterGo 语言接口,支持现代 GUI 程序开发的、嵌入式 HTML/CSS/脚本引擎。具有跨平台特性。
  • gotk3 : GTK3的Go语言接口
  • gowd : 使用Go, HTML, CSSNW.js 语言进行快速、简单的桌面UI开发。具有跨平台特性
  • qt : QtGo语言接口 (支持 Windows,macOS,Linux,Android,iOS,Sailfish OS, Raspberry Pi)
  • ui : 跨平台的原生 GUI 库
  • Wails : 使用内置的 HTML 渲染器。
  • walk : windows应用程序开发工具包
  • webview : 支持双向JavaScript绑定的跨平台 webview 窗口库(Windows,macOS,Linux)。
  • go-appindicator : libappindicator3 C库的Go绑定。
  • gosx-notifier : OSX 桌面提醒库
  • mac-activity-tracker : OSX 库,用于通知机器上的任何(可插拔)活动。
  • mac-sleep-notifier : - golang中的OSX睡眠/唤醒通知库。
  • robotgo : 跨平台GUI自动化工具,可以控制鼠标、键盘及其他设备
  • systray : 跨平台的Go 语言库,用于在桌面提醒区域放置按钮及菜单
  • trayhost : 跨平台的 Go 语言库,用于在主机系统任务条区域放置按钮及菜单

硬件

与硬件交互的库、工具


Images 图像处理

  • bild : 汇集了使用 Go语言编写的图像处理算法

  • bimg : 利用libvips进行快速高效的图像处理

  • cameron : Go的头像生成器。

  • canvas : 将矢量图形转换成 PDF、SVG或光栅化图像。

  • darkroom : 图像代理,具有可更改的存储后端和图像处理引擎,注重速度和弹性。

  • draft : 使用简单的YAML语法为GraphViz生成高级微服务架构图。

  • geopattern : 从字符串创建优美的图样

  • gg : 使用Go编写的 2D渲染程序

  • gift : 图像处理过滤器包

  • gltf : 高效且强大的glTF 2.0读取器、写入器和验证器。

  • go-cairo : cairo 图形库的 Go语言接口

  • go-gd : GD库的Go 语言接口

  • go-nude : 使用 Go 语言进行裸替检测

  • go-opencv : OpenCVGo语言接口

  • go-webcolors : webcolors 库的Go语言接口

  • gocv : 使用OpenCV 3.3+ 的计算机视觉的 Go 包。

  • goimagehash : Go感知图像哈希包。

  • goimghdr : imghdr模块为 Go 确定文件中包含的图像类型。

  • govatar : 用于生成有趣头像的库和命令行工具。

  • gridder : 基于网格的2D图形库。

  • image2ascii : 将图像转换为ASCII码。

  • imagick : ImageMagickMagickWand C语言APIGo语言接口

  • imaginary : 快速且简单的 HTTP微服务,用于图像缩放

  • imaging : 简单的Go图像处理包。

  • img : 图像操作工具精选集

  • ln : 3D 图线艺术渲染

  • mergi : 用于图像处理的工具和Go 库(合并、裁剪、调整大小、水印、动画)。

  • mort : 用Go编写的存储和图像处理服务器。

  • mpo : MPO 3D 照片解码与转换工具.

  • picfit : 一个使用 Go语言编写的图片缩放服务器

  • pt : 光线追踪引擎

  • resize : 使用 Go语言编写的具有常见差值功能的图片缩放工具

  • rez : 纯 GoSIMD实现的图像缩放库

  • smartcrop : - 为任意图片进行剪裁的工具

  • steganography : 用于LSB隐写的纯Go库。

  • stegify : 用于LSB隐写的Go工具,能够隐藏图像中的任何文

  • svgo : 用于生成 SVGGo语言库

  • tga : tga是一个TARGA图像格式解码/编码器

    物联网(IOT)

  • connectordb : 针对iot的开源物联网平台

  • devices : 管理物联网设备的套件库

  • eywa : Eywa 是一个持续追踪所有连接设备的连接管理器

  • flogo :FloGo是一个用于物联网 Edge App及集成的开源框架

  • gatt : Gatt是一个用于创建低功耗蓝牙外设的库

  • gobot : Gobot 是一个用于机器人,物理计算以及物联网的库

  • huego : 适用于 Go的广泛的 Philips Hue客户端库。

  • iot : IoT是实现Google IoT Core设备的简单框架。

  • mainflux : 工业物联网消息传递和设备管理服务器。

  • periph : 外设I/O,用于连接低级板卡设施。

  • sensorbee : 轻量级物联网流处理引擎

    作业调度

  • clockwerk : 使用简单、流畅的语法来调度周期性作业的Go包。

  • clockwork : Go中简单直观的作业调度库。

  • go-cron : Go的简单Cron库,它可以在不同的时间间隔执行闭包或函数,主要用于web应用程序和长期运行的守护进程。

  • go-quartz : 简单、零依赖的Go调度库。

  • gocron : 简单流畅的Go作业调度。这是·jasonlvhit/gocron·`的一个积极维护的fork.

  • gron : 使用简单的 Go API 定义基于时间的任务,Gron的调度器将相应地运行它们。

  • JobRunner : 智能且功能丰富的cron任务调度器,内置任务队列和实时监控。

  • jobs : 持久而灵活的后台作业库。

  • leprechaun : 工作调度器,支持webhooks、crons和经典调度系统。

  • scheduler : Cronjobs调度系统。


JSON

  • ajson : golang实现的支持JSONPath的抽象JSON格式解析库。
  • dynjson : 向客户端提供自定义的JSON格式的动态API
  • ej : 从不同的数据写入和读取JSON的库。
  • epoch : 包含用于将Unix时间戳,epoch转换为JSON中的内置时间类型的处理库。
  • gjo : 用于创建JSON对象的小工具。
  • GJSON : 用一行代码获取JSON值。
  • go-jsonerror : Go-JsonError的目的是让我们能够轻松创建遵循JsonApi规范的json响应错误。
  • go-respond : 用于处理常见HTTP JSON响应的Go包。
  • gojq : Golang中的JSON查询库。
  • gojson : 从示例 JSON自动生成 Go结构体定义的库。
  • JayDiff : 用Go编写的JSON差异比较工具。
  • jettison : 用于Go的高性能、无反射的JSON编码器。
  • JSON-to-Go : 将JSON转换为Go结构
  • json2go : 高级JSONGo结构的转换。提供能够解析多个JSON文档并创建适合所有JSON文档的结构的包。
  • jsonapi-errors : 基于JSON API错误引用的Go语言封装。
  • jsonf : 用于高亮格式化和结构查询JSON的控制台工具。
  • jsongo : Fluent API,使其更容易创建Json对象。
  • jsonhal : ,用于将自定义的结构体marshal为兼容HALJSON response的库。
  • jzon : 兼容标准json库的JSON库。
  • kazaam : 转换任意json文档的的API库。
  • mapslice-json : 用于有序地对JSON中的map结构进行marshal/unmarshal
  • mp : 简单的 cli电子邮件解析器,能够接受标准输入并输出JSON日志

Logging 日志库

  • distillog : 分级日志记录库(可以把它想象成 stdlib + log levels)。
  • glg : 简单、快速、分级的日志库
  • glo : 分级记录日志的库
  • glog : Go的分级日志
  • go-cronowriter : 对日志文件基于当前日期和时间进行自动循环写入的库,类似 cronolog.
  • go-log : 一个包含rack traces、对象转储和可选时间戳的日志库。
  • go-log : 简单且可配置的go日志库,包括分级、格式化和多项输出的特性。
  • go-log : 日志库支持级别和多处理程序。
  • go-log : Go中的Log4j实现。
  • go-logger : 支持日志分级的简单的日志工具
  • gologger : 简单易用的日志库,可以在彩色控制台、文件或 Elasticsearch中记录
  • gomol : 支持多种输出,结构化的日志模块,可以扩展它的输出
  • gone/log : 快速、可扩展、全功能、兼容标准库的日志库
  • httpretty : 将常规的 HTTP 请求漂亮地打印在终端上用于调试(类似于 http.DumpRequest)。
  • journald : systemd 日志的本地日志APIGo实现。
  • kemba : 受debug 启发的小型调试日志工具,非常适合CLI工具和应用程序。
  • log : O(1)复杂度的日志系统,允许你将一个日志连接到多个输出(例如 stdout、文件和一个 TCP 连接)。
  • log : Go的结构化日志包。
  • log : 简单、可配置、可扩展的Go结构化日志库。
  • log : 结构化日志接口。
  • log-voyage :用golang编写的全功能日志库。
  • log15 : 简单、强大的Go日志记录。
  • logdump : 用于多级日志记录的软件包。
  • logex : Golang日志库,支持跟踪和级别,由标准日志库封装。
  • logger : 日志库。
  • logmatic : Golang的彩色日志记录器,具有动态日志级别配置功能。
  • logo : Golang的日志记录库,可配置不同的写入器。
  • logrus : 支持结构化的日志工具.
  • logrusiowriter : 使用 logrus loggerio.Writer 实现。
  • logrus : Go的结构化日志记录器。
  • logrusly : logrus插件,用于将错误发送到Loggly
  • logur : 日志记录接口和日志记录最佳实践的整合,它对诸多知名库如logrusgo-kit logzapzerolog等的功能进行了集成
  • logutils : 对 Go语言标准日志工具进行了扩展,使其更好用
  • logxi : 十二要素 app 日志工具,非常快速。
  • lumberjack : 简单的循环日志工具。
  • mlog : 简单的日志模块,可以分5级并有一个可选的循环日志文件记录功能,支持 stdout/stderr 输出.
  • onelog : Onelog是一个简单但非常高效的JSON日志库。它是目前所有场景下最快的JSON日志器。同时,它也是所需最少内存分配的库。
  • ozzo-log : 高性能日志库,支持日志分级、分类及过滤。可以将过滤后的信息发送到不同的目的地(例如: 控制台、网络、邮箱).
  • phuslu/log : - 结构化日志系统。
  • rollingwriter : RollingWriter是一个具有自动轮转功能的io.Writer实现,它有多种策略来提供日志文件旋转。
  • seelog : 灵活的、解耦的、格式化的日志库
  • spew : - 为 Go语言的数据结构实现了一个整洁的打印功能,有助于调试
  • sqldb-logger : -用于Go SQL数据库驱动的日志记录器,无需修改现有的*sql.DB标准用法。
  • stdlog : Stdlog是一个面向对象的库,提供了分级日志功能,对于定时任务很有用.
  • tail : 这个 Go语言软件包力争模拟 BSD tail的功能
  • xlog : 插件架构以及灵活的日志系统,具有日志等级控制,多日志目标以及自定义日志格式功能
  • xlog : 结构化日志库
  • zap : 快速的、结构化的、分级的日志库
  • zerolog : 零内存分配 的JSON日志库.