BqLog 源于《Honor Of Kings》(王者荣耀国际服),是一个轻量级、跨平台、高性能的日志组件。
支持平台
- Windows 64 bit
- MacOS
- Linux
- iOS
- Android(X86_64, arm64-v8a、armeabi-v7a)
支持编程语言
- C++
- Java
- Kotlin
- C#
特点
- 对比现有开源日志库有巨大的性能优势(见Benchmark),不仅适用于服务器,客户端,也非常适合移动端设备
- 内存消耗少,在Benchmark的用例中,10线程20000000条日志,BqLog本身内存消耗在1M以内。
- 提供高性能高压缩比的实时压缩日志格式
- 可以在游戏引擎(
Unity
,Unreal
)中正常使用,其中对Unreal提供了常用类型的支持 - 支持
utf8
,utf16
,utf32
的字符和字符串,支持bool,float,double,各种长度和类型的整数等常用参数类型 - 支持
C++20
的format
规范 - 异步日志支持Crash复盘,避免丢失数据(灵感来自XLog)
- 尺寸极小,Android编译后动态库仅有200k左右
- 在Java和C#上可以不额外产生Heap Alloc,不会随着运行不停new对象。
- 仅依赖标准C语言库和平台API,可以在安卓的
ANDROID_STL = none
的模式下通过编译 - 支持
C++11
及以后的编译标准,可以在-Wall -Wextra -pedantic -Werror的严格要求下通过编译 - 编译模块基于
Cmake
,并提供不同平台的编译脚本,使用方便 - 支持自定义参数类型
- 对代码提示非常友好
评论