go-logger v2.0.4 发布
该版本主要支持go原生日志库 log/slog 的日志文件切割,压缩等功能。
log/slog 库是 Go 语言用于结构化日志记录的一个强大工具,它旨在提升日志的管理和分析能力,同时保证代码的简洁性和执行效率。随着 Go 语言生态的发展,slog 正逐渐成为处理日志的新标准。
log/slog 专注于提供结构化日志的生成与处理逻辑,包括日志级别控制、键值对数据的记录等,但它并不直接内置文件处理功能,如日志文件的分割、压缩等。
go-logger 已经实现了较为完善的日志文件管理功能,可以直接与 slog 配合使用,作为log/slog库的日志文件管理支持库。
go-logger的使用文档
go-logger源码
go-logger 支持日志文件切分功能
go-logger 与 log/slog 配合使用
go-logger与log/slog配合使用非常简单:一行代码便可以实现:创建logger对象,并将其传入 log/slog 的Handler 创建函数。如下示例:
传入NewTextHandler函数创建slog handler
go-logger的日志文件管理功能
详细用法参考 使用文档
slog使用go-logger作为日志文件管理库是否有性能损耗或多余内存消耗
压力测试
测试结果说明,大量的测试结果基本一致
由压测结果可以看到
使用 go-logger作为 log/slog的日志文件管理器与 log/slog直接写文件日志的内存分配完全一致。性能上的差别微乎其微。可以看作一致。
结论:使用go-logger作为log/slog与直接写文件,从内存分配与性能上,效果一致
go-logger 与多个日志库的性能压力测试数据
串行压测
并行压测
测试结果说明:
2024-05-13T16:41:27.696+0800 DEBUG logtest/benchmark_test.go:121 >>>aaaaaaaaaaaaaaaaaaaaaaaaaaaaa [DEBUG]2024/05/13 16:41:32 benchmark.go:797: >>>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa [DEBUG]2023/06/10 01:25:55.028277 log_test.go:46:>>>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa [DEBUG]2023/06/10 01:25:55.028277 log_test.go:55:>>>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa [debug]2024/05/13 16:41:46.839928 benchmark_test.go:164: >>>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa time=2024-05-13T16:41:51.637+08:00 level=INFO source=benchmark_test.go:182 msg=>>>aaaaaaaaaaaaaaaaaaaaaa time=2024-05-13T16:41:56.255+08:00 level=INFO source=benchmark_test.go:200 msg=>>>aaaaaaaaaaaaaaaaaaaaaa
测试结果
评论删除后,数据将无法恢复
高性能日志库 go-logger 2.0.4 发布,支持 slog 日志文件切割
go-logger v2.0.4 发布
该版本主要支持go原生日志库 log/slog 的日志文件切割,压缩等功能。
log/slog 库是 Go 语言用于结构化日志记录的一个强大工具,它旨在提升日志的管理和分析能力,同时保证代码的简洁性和执行效率。随着 Go 语言生态的发展,slog 正逐渐成为处理日志的新标准。
log/slog 专注于提供结构化日志的生成与处理逻辑,包括日志级别控制、键值对数据的记录等,但它并不直接内置文件处理功能,如日志文件的分割、压缩等。
go-logger 已经实现了较为完善的日志文件管理功能,可以直接与 slog 配合使用,作为log/slog库的日志文件管理支持库。
go-logger的使用文档
go-logger源码
go-logger 支持日志文件切分功能
go-logger 与 log/slog 配合使用
go-logger与log/slog配合使用非常简单:一行代码便可以实现:创建logger对象,并将其传入 log/slog 的Handler 创建函数。如下示例:
传入NewTextHandler函数创建slog handler
go-logger的日志文件管理功能
详细用法参考 使用文档
slog使用go-logger作为日志文件管理库是否有性能损耗或多余内存消耗
压力测试
测试结果说明,大量的测试结果基本一致
由压测结果可以看到
使用 go-logger作为 log/slog的日志文件管理器与 log/slog直接写文件日志的内存分配完全一致。性能上的差别微乎其微。可以看作一致。
结论:使用go-logger作为log/slog与直接写文件,从内存分配与性能上,效果一致
go-logger 与多个日志库的性能压力测试数据
串行压测
并行压测
测试结果说明:
测试结果