项目简介
本项目是基于glog框架的高性能C++日志系统,能提供可扩展的日志记录功能。支持多种日志输出方式,借助异步日志记录和灵活接口设计,保证在高并发场景下性能良好。
项目的主要特性和功能
- 日志输出方式多样化:可将日志输出到标准输出、标准错误、本地文件或远程服务器。
- 异步日志记录:以异步方式记录日志,减少对主线程的影响。
- 日志过滤与格式化:支持按日志级别过滤,可自定义日志格式。
- 扩展接口:提供易于扩展的接口,方便开发者自定义日志记录器或日志下沉目标。
- 性能测试:内置性能测试功能,可评估日志系统的吞吐量(QPS)。
安装使用步骤
编译与安装
假设用户已下载本项目的源码文件,按以下步骤编译与安装:
bash
mkdir build
cd build
cmake ..
make
sudo make install
默认安装路径为 /usr/local/lib
,需将该路径添加到动态链接库路径中:
bash
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
可将上述命令添加到终端的配置文件中,确保每次启动终端时自动设置。
使用示例
以下是一个简单示例,展示如何初始化日志系统并记录日志信息: ```cpp
include "logging.h"
int main(int argc, char const *argv[]) { InitGoogleLogging(argv[0]); SetLogDestination(GLOG_INFO, "testLog"); SetLogFilenameExtension(".log");
LOG(WARNING) << "lizy"; for (int i = 0; i < 100; i++) { LOG(INFO) << "hello log"; }
return 0; } ```
性能测试
项目包含性能测试程序,用于评估日志系统的吞吐量(QPS),简要说明如下:
1. 初始化日志系统:使用 InitLogging
函数初始化日志系统。
2. 设置日志目录和目标文件:通过 SetLogDir
和 SetLogDestination
函数设置日志文件的存储目录和目标文件。
3. 循环记录日志:在循环中记录日志信息,并计算循环的耗时。
4. 计算QPS:根据循环次数和耗时,计算每秒可以处理的消息数(QPS),并输出结果。
通过运行性能测试程序,可评估日志系统在不同负载下的性能表现。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】