大家好。再找机会出来碰面吧。 GitHub 精选。
背景介绍
在日常开发工作中,经常需要记录程序执行过程中的各种信息,以便了解程序执行状态,发现和解决问题。然而,标准日志库通常功能单一、输出格式单调,缺乏易用性设计,导致查看日志耗费大量时间和精力。因此,为了提高开发效率,您需要一个功能强大、易于使用、输出格式丰富的日志库。
今天给大家推荐一个GitHub上的开源项目:chambracelet/log。该项目在GitHub 上拥有超过1.5,000 颗星。介绍这个项目的一句话是“一个最小且丰富多彩的Go日志库”。
项目介绍
Log是Go语言中一个简单而丰富多彩的日志库。提供结构化、人类可读的多级记录器和易于使用的API。与标准日志记录库不同,Log 提供可定制的、彩色的、人类可读的日志,其中包括以下功能:
• 使用唇彩为输出设计风格和颜色。 • 丰富多彩、人类可读的格式。 • 能够自定义时间戳格式。 • 跳过调用帧并将函数标记为助手。 • 多级日志记录。 • 文本、JSON 和Logfmt 格式化程序。 • 在上下文中保存和检索记录器。 • 标准记录适配器。下面是一些具体的使用示例。
1. 基本使用
log.Debug('Cookie ') //不输出任何内容log.Info('Hello World!') 2,添加选项
logger :=log.NewWithOptions(os.Stderr, log.Options{ ReportCaller: true, ReportTimestamp: true, TimeFormat: time.Kitchen, Prefix: '烘焙'})logger.Info('启动烤箱!', '度', 375 )time. Sleep(10 * time.Minute)logger.Info('Bake finish') 查看GitHub 以获取更多使用示例。
如何使用
首先,使用go get 命令下载依赖项。
go get github.com/charmbracelet/log@latest 然后将其导入到您的Go 文件中。
您可以使用import 'github.com/charmbracelet/log' log.Print() 打印没有级别前缀的消息,或使用New() 创建新的记录器。另外,Log 提供了多个级别来过滤日志,使用log.SetLevel() 设置日志级别或者使用log.Options{Level:} 指定特定的日志级别,也可以为其创建新的记录器。
项目推介
日志由Charmbracelet团队开发和维护。 Charmbracelet是著名的开源团队,其项目广受开发者喜爱。 Log项目的设计理念和实现都非常出色,对于需要日志记录或者正在学习Go语言的开发者来说是一个非常好的选择。
下面是该项目的星形走势图(代表该项目的活跃程度)。
有关项目的更多信息,请访问下面的链接。
开源项目地址:https://github.com/charmbracelet/log
开源项目作者:Charmbracelet
参与建设该项目的成员有:
关注我们,一起探索有趣的开源项目。
版权声明:本文转载于今日头条,版权归作者所有。如有侵权,请联系本站编辑删除。