下载地址:GitHub - HardySimpson/zlog: A reliable, high-performance, thread safe, flexsible, clear-model, pure C logging library.
zlog是一个高可靠性、高性能、线程安全、灵活、概念清晰的纯C日志函数库。
正因为zlog是一个日志函数库,故zlog没有独立的进程进行维护,需依赖实际调用zlog的进程,故需留意进程崩溃时的日志丢失情况。但也因为zlog是一个日志函数库,故其具有简单易用的特点,虽然简单但能满足普通日志记录的需求。
zlog日志满足以下几点日志核心需求:
支持格式化输出,如给日志添加时间、文件位置信息等
支持日志按输出等级进行输出过滤
支持异步\同步文件存储
支持日志按时间、按大小存储
支持日志滚动存储
多线程和多进程环境下保证安全转档
安装方式,详细可参考工程的readme文件,这里不想污染环境变量,直接编译到本地
mkdir zlog_lib
cd zlog-master/
make PREFIX=/home/wei/Code/Zlog/zlog_lib
sudo make PREFIX=/home/wei/Code/Zlog/zlog_lib install
建立工程目录
CMakeList.txt配置如下
cmake_minimum_required(VERSION 3.10)
project(TestProject)
# 设置 C++ 标准
set(CMAKE_CXX_STANDARD 11)
# 添加 include 目录
include_directories(${CMAKE_SOURCE_DIR}/include)
# 添加可执行文件
add_executable(test test.c)
# 查找线程库
find_package(Threads REQUIRED)
# 链接 zlog 库和线程库
target_link_libraries(test ${CMAKE_SOURCE_DIR}/lib/libzlog.so ${CMAKE_THREAD_LIBS_INIT})
conf配置如下
[formats]
simple = "%m%n"
[rules]
my_cat.DEBUG >stdout; simple
执行结果
参考:一篇文章看懂zlog日志使用-CSDN博客
如何直接研究源码:
可以直接进入工程的test目录下执行
make
生成可执行文件