开源公告|BqLog发布

67194317e3c587182ea6526cc0ba0f43.gif

4d8cf90c44d402c7ec6a6c4b1e9e6173.png

项目简介

BqLog源于《Honor Of Kings》(王者荣耀国际服),是一个轻量级、跨平台、高性能的日志组件。由C++实现,同时支持Java,C#的调用。可以用于Unreal、Unity等游戏引擎,也能用于Android、IOS环境下的App。在Windows、Mac、Linux等的桌面和服务器环境也能够很好运行。

b9a0ccd6af35a37766c6791f024cd0d7.png

主要特点

  • 高并发,高性能

现在业界有很多开源日志组件,不管是Java,C++还是其他语言实现,通过实测,性能最高的还是Log4j2,当其运行于异步模式下的时候,对比其他日志组件有巨大的性能优势。而BqLog同样运行在异步模式下的时候,比Log4j有5倍以上的性能提升(见Github内的README和benchmark)。同时在Java和C#环境下使用的时候,可以做到无GC。

  • 低内存

由于BqLog源自手机游戏,所以必须适应严苛的内存使用限制。整个组件本身的内存消耗只在1M左右。

  • 高压缩比

BqLog推出了一种自有知识产权的日志压缩格式,在日常环境中,最后生成的日志不仅尺寸只有文本格式的20%到30%左右,其写入性能还超出普通格式很多。(见Github内的README和benchmark)

  • 防数据丢失

异步日志最大的问题是当程序发生异常结束的时候,内存里的数据还没来得及写入日志文件,BqLog提供了多种解决方案用于避免数据丢失。

  • 高泛用性

BqLog提供动态库,静态库,源代码等多种导入方式,本身代码除了stdlibc之外,没有任何依赖。所以可以在Android NDK的ANDROID_STL=none的严格模式下通过编译。

  • 可扩展

 BqLog提供自定义adapter支持,可以用于适配各种不同的数据类型,本身已经默认提供了针对Unreal引擎常用数据类型的支持。

请给项目 一个 Star !

欢迎提出你的 issue 和 PR!

关注腾讯开源公众号

获取更多最新腾讯官方开源信息!

d20d97d2cf8447177e3fefab78d83c45.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值